随笔分类 - 力扣
记录做题过程
摘要:输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 力扣地址 面试有被问到这个问题,估计是想考快排partition的思想,但是当时没想到。当时想到了的是堆和二分,但是这个数组是完全没有顺序的,就不能用二分。可以用
阅读全文
摘要:小和 在一个数组中,每一个数左边比当前数小的数累加起来,叫做这个数组 的小和。求一个数组的小和。例子:[1,3,4.2.5] 1左边比1小的数,没有: 3左边比3小的数,1; 4左边比4小的数,1、3; 2左边比2小的数,1; 5左边比5小的数,1、3、4、2;所以小和为1+1+3+1+1+3+4+
阅读全文
摘要:参考:https://www.bilibili.com/video/BV14f4y1C7hg 宝藏up主! 1.时间复杂度 O(1) O(n) 复杂度看最高的 O(n2) 如果只是两个并列的for循环,时间复杂度还是O(n),100个并列的for循环,也是O(n) 这里有继承,两个循环分摊一个任务
阅读全文
摘要:二分法 不是只有有序才能二分法,无序也可以二分! 时间复杂度 log(N) 二分法的详解与扩展. 1)在一个有序数组中,找某个数是否存在 2)在一-个有序数组中,找>=某个数最左侧的位置: 3)局部最小值问题 需要注意边界条件 一个数组无序,但是任何两个相邻的数一定不相等,求局部最小。 证: 如果从
阅读全文
摘要:几个概念 1、稳定排序:如果 a 原本在 b 的前面,且 a == b,排序之后 a 仍然在 b 的前面,则为稳定排序。 2、非稳定排序:如果 a 原本在 b 的前面,且 a == b,排序之后 a 可能不在 b 的前面,则为非稳定排序。 3、原地排序:原地排序就是指在排序过程中不申请多余的存储空间
阅读全文
摘要:每一步都找到当前元素(自己)的最大子序列 有两种可能 当前元素和前面的子序列和合并 不和前面的合并 dp数组中存储的的每个值是以当前元素结尾的最大的子序列和 用一个变量动态的保存最大子序列的值,节省空间。 class Solution { public int maxSubArray(int[] n
阅读全文

浙公网安备 33010602011771号