数列 前缀 区间 算法

算法笔记(二)—— 认识N(logN)的排序算法

递归行为的时间复杂度估算 整个递归过程是一棵多叉树,递归过程相当于利用栈做了一次后序遍历。 对于master公式,T(N)表明母问题的规模为N,T(N/b)表明每次子问题的规模,a为调用次数,加号后面表明,除去调用之外,剩余语句的复杂度是多少,算出d。根据上次三个判断公式进行算法时间复杂度计算。 归 ......
算法 笔记 logN

算法-15-归并排序

......
算法 15

C/C++ 数据结构五大核心算法之动态规划算法-给你一根长度为 n 的金条,请把金条剪成 m 段 (m 和 n 都是整数,n>1 并且 m>1)每断金条的长度记为 k[0],k[1],…,k[m].请问 k[0] k[1]…*k[m]可能的最大乘积是多少?

动态规划也是一种分治思想,但与分治算法不同的是,分治算法是把原问题分解为若干子问题,自顶向下,求解各子问题,合并子问题的解从而得到原问题的解。动态规划也是自顶向下把原问题分解为若干子问题,不同的是,然后自底向上,先求解最小的子问题,把结果存储在表格中,在求解大的子问题时,直接从表格中查询小的子问题的 ......
金条 算法 长度 乘积 数据结构

代码随想录算法训练营第四十五天| 739. 每日温度 496.下一个更大元素 I

739. 每日温度 单调栈的思路: 如果要找左边第一个比当前数字大的节点 这个栈里面存放的是index,大——》小 如果一个新节点,比栈顶大,那么就是栈顶的第一个大于它的节点 代码: 1 // 单调栈:一维数组,寻找 元素右边,或者左边自己大或者小的元素的位置 2 3 // 要求:找到比当前节点值高 ......
随想录 训练营 随想 算法 元素

算法-13-堆排序

......
算法 13

算法-12-快速排序-快排的最好最坏情况

class Solution { public int[] sortArray(int[] nums) { quickSort(nums, 0, nums.length - 1); return nums; } public void quickSort(int[] nums, int l, int ......
算法 情况 最好 12

算法-11-快速排序

......
算法 11

LeetCode从算法到算命——每日一题(0802)

LeetCode从算法到算命—每日一题(0802) # 822. 翻转卡片游戏 ## 题目信息 在桌子上有 n 张卡片,每张卡片的正面和背面都写着一个正数(正面与背面上的数有可能不一样)。 我们可以先翻转任意张卡片,然后选择其中一张卡片。 如果选中的那张卡片背面的数字 x 与任意一张卡片的正面的数字 ......
算法 LeetCode 0802

算法-09-插入排序

......
算法 09

m基于大规模MIMO技术的5G网络上下行功率优化算法matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 基于大规模MIMO技术的5G网络上下行功率优化算法"是针对5G网络中的大规模多输入多输出(MIMO)系统进行功率优化的一种算法。该算法旨在通过优化上行和下行通信的功率分配,以实现网络资源的高效利用、提高系统容量和降低干 ......
算法 功率 大规模 上下 matlab

【胡思乱想】用树状数组维护区间加等比数列和区间查和

等比数列的比值为定值 $d\ne 1$,那么可以把 $a$ 差分成 $b_i=a_i-d\cdot a_{i-1}$,则有 $$a_i=\sum_{j=1}^ib_j\cdot d^{i-j}$$ $$p_i=\sum\limits_{j=1}^ia_i=\sum_{j=1}^ib_j\cdot\s ......
区间 数列 数组 胡思乱想

代码随想录算法训练营第四十四天| 647. 回文子串 516.最长回文子序列

647. 回文子串 要求: 找出回文子串的个数 思路: 设置起始节点 如果头尾相等,且是相差为1,指定回文 如果相差很多,那么就看它的字串 代码: 1 // 要求:找出 正反相等,且连续字符,开始结束位置不同,也认为是一个 2 // dp[n][n] 起始-中止位置 3 // 4 // 如果两边相等 ......
回文 随想录 训练营 序列 随想

算法-08-选择排序

选择排序法是一种不稳定的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素, 存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 # 简单 li_new = [] def select ......
算法 08

采用PCA算法&KMeans算法来实现用户对物品类别的喜好细分(菜篮子分析)(附带数据集下载)

实现该项目的流程如下 """ 项目:用户对物品类别的喜好细分(菜篮子分析) 主算法:PCA降维算法 KMeans算法 总思路 1、导包 2、获取数据 3、数据处理 5、特征工程(使用PCA降维) 6、使用KMeans算法进行模型训练 7、模型评估 """ First of all!!导包 # 1、导 ......
算法 菜篮 菜篮子 类别 物品

算法-06-冒泡排序

import random def bubble_sort(li): for i in range(len(li) - 1): for j in range(len(li) - i - 1): if li[j] > li[j + 1]: li[j], li[j + 1] = li[j + 1], l ......
算法 06

算法笔记——ST表

# ST表 ST表是一种简单的数据结构,主要用于解决RMQ问题(区间最大/最小值问题)主要应用倍增的思想,可以实现O(nlogn)预处理,O(1)查询 ## 1.预处理ST表 倍增法递推:用两个等长的小区间拼凑一个大区间 f[i][j]表示以第i个数为起点,长度为2^j的区间里的最大值/最小值 f[ ......
算法 笔记

算法-05-排序

......
算法 05

算法-04 -二分查找

案例: def binary_search(li, val): left = 0 right = len(li) - 1 while left <= right: # 候选取有值 mid = (left + right) // 2 # mid 位置 if li[mid] == val: # 如果mi ......
算法 04

[算法题python]822.翻转卡片游戏

在桌子上有 n 张卡片,每张卡片的正面和背面都写着一个正数(正面与背面上的数有可能不一样)。 我们可以先翻转任意张卡片,然后选择其中一张卡片。 如果选中的那张卡片背面的数字 x 与任意一张卡片的正面的数字都不同,那么这个数字是我们想要的数字。 哪个数是这些想要的数字中最小的数(找到这些数中的最小值) ......
算法 卡片 python 822

[算法题python]14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs = ["flower","flow","flight"] 输出:"fl" 示例 2: 输入:strs = ["dog","racecar","car"] 输出:"" 解释:输入不存在 ......
前缀 算法 python 14

代码随想录算法训练营第四十三天| 583. 两个字符串的删除操作 72. 编辑距离

583. 两个字符串的删除操作 要求: 删除最少的步数,来让这两个字符串相等 思路: 求末尾的最长公共子序列的长度,然后减去他们的长度 代码: 1 // 要求:两个字符串,删除任意一个字符后,让这两个字符相等 2 // dp[n][m] 以n-1结尾的字符串变成节点为m-1为子序列的最大个数 3 / ......
随想录 训练营 字符串 随想 算法

C/C++ 数据结构五大核心算法之分治法

分治法——见名思义,即分而治之,从而得到我们想要的最终结果。分治法的思想是将一个规模为 N 的问题分解为 k 个较小的子问题,这些子问题遵循的处理方式就是互相独立且与原问题相同。 两部分组成: 分(divide):递归解决较小的问题 治(conquer):然后从子问题的解构建原问题的解 三个步骤: ......
数据结构 算法 核心 结构 数据

代码随想录算法训练营第四十二天| 392.判断子序列 115.不同的子序列

392.判断子序列 要求: 判断第一个字符串是否是第二个字符串的子序列 思路1: 设置成deque,如果长度为0则是 代码1: 1 // 要求: 判断s 是否是t的子序列 2 // 思路: 将s作为queue,如果头相等,那么就弹出,遍历后,查看是否为0 3 // 4 bool isSubseque ......
序列 随想录 训练营 随想 算法

APP逆向之AES加密算法

```python import random from Crypto.Cipher import AES import base64 # 加密的字符串,必须是固定长度,处理成固定长度 def pad_data(data): # 计算需要填充的字节数 pad_len = AES.block_size ......
算法 APP AES

vue 通过css 给html元素增加前缀红色星号

` `前面增加红色星号 要为``的`label`增加红色星号,你可以使用CSS中的伪元素 `::after` 或 `::before` 来实现。下面是如何在样式中添加红色星号的示例: ``` ``` ......
星号 前缀 元素 红色 html

第二节 基础算法 - 2

## 例题 ## 逆序对 **题目描述** 猫猫 TOM 和小老鼠 JERRY 最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计。 最近,TOM 老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就是序列中 $a ......
算法 基础

第一节 基础算法 - 1

## CF1204A 题解 [洛谷链接](https://www.luogu.com.cn/problem/CF1204A)&[CF 链接](http://codeforces.com/problemset/problem/1204/A) 本篇题解为此题**较简单做法**及**较少码量**,并且码风 ......
算法 基础

【算法】编写一个函数,返回两个正数的和,有可能超过ulong长度

编写一个函数,返回两个数字的和。输入数字是字符串,函数必须返回一个字符串。 示例: 添加(“123”,“321”);->“444” 添加(“11”,“99”);->“110” 备注: 输入的数字很大,有可能超过ulong长度。 输入是一个只有数字的字符串。 数字是正数。 算法实现: 1 using ......
正数 算法 函数 长度 两个

代码随想录算法训练营第七天| LeetCode 454.四数相加II 15. 三数之和 18. 四数之和

454.四数相加II 卡哥建议:本题是使用map巧妙解决的问题,好好体会一下 哈希法如何提高程序执行效率,降低时间复杂度,当然使用哈希法会提高空间复杂度,但一般来说我们都是舍空间换时间, 工业开发也是这样。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0454 ......
之和 随想录 训练营 随想 算法

算法-03-python中return怎么用?

在Python中,return语句用于从函数中返回一个值。当函数执行到return语句时,它会停止执行并返回一个值给调用函数的代码。下面是一个简单的例子 例子: def linear_search(value, lst): for i in range(len(lst)): if lst[i] == ......
算法 python return 03