[leetcode]生词

递归

函数调用自己(参数可能不同),有递要有归(截止条件)

双指针

适合:需要移动左右两头的问题

动态规划

把计算过的值存起来,下次调用,就能减少计算量

二分查找

也称折半查找(Binary Search),是一种在有序数组中查找某一特定元素的搜索算法。算法复杂度O(logn)

店小二:之前的鱼,30个铜板一条,今天的我猜26个铜板。
袁厨:贵了。
店小二:还贵呀!那我猜20个铜板!
袁厨:还是贵了。
店小二:15个铜板。
袁厨:便宜了
店小二:18个铜板
袁厨:恭喜你猜对了
https://leetcode-cn.com/problems/search-in-rotated-sorted-array/solution/cong-ji-ben-de-er-fen-fa-shuo-qi-ru-he-a-hof5/
nums[mid]<target,则left=mid+1,即上半段
https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array/solution/yi-wen-dai-ni-gao-ding-er-fen-cha-zhao-j-00kj/

时间空间复杂度

「时间复杂度」执行当前算法所消耗的时间
大O符号表示法 :即 T(n) = O(f(n))——https://zhuanlan.zhihu.com/p/50479555

常数阶O(1):没有循环等复杂结构
线性阶O(n):for循环里面的代码会执行n遍
对数阶O(logN):每次都将 i 乘以 2,乘完之后,i 距离 n 就越来越近了
线性对数阶O(nlogN):将时间复杂度为O(logn)的代码循环N遍的
平方阶O(n²):把 O(n) 的代码再嵌套循环一遍
O(n³):相当于三层n循环,其它的类似。

「空间复杂度」执行当前算法需要占用多少内存空间,输出数组不被视为额外空间
一个算法在运行过程中临时占用存储空间大小的一个量度

O(1):不随被处理数据量n的大小而改变,“没有中间结果数组,只有输出数组”
O(n): 算法的空间复杂度与n成线性比例关系;“构造了一个长为n的数组暂存中间结果”

贪心算法

它在每一步都做出最优解,也就是说,它总是做出局部最优解,寄希望于通过局部最优解来获得全局最优解。

posted @ 2022-01-23 20:29  ice猫猫3  阅读(49)  评论(0编辑  收藏  举报