摘要: 从右往左遍历,先记录右边最大值 rightMax 为最后一个值,向左每次更新 rightMax,使用变量 t 先记住当前 arr[i] 就可以了。 阅读全文
posted @ 2020-06-18 23:44 sweet_li 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 首先先说一点:二分查找法不仅仅可以用在有序数组里元素的查找上。如果是一个问题,待查找的数是整数,且知道范围,大概就可以通过逐步排查,缩小问题的规模的方式找到,这种算法也是二分查找算法。 我们平常写程序,定位问题其实通常也用的是这个思路。在适当的地方做一些代码输出,逐步缩小范围,最后找到了有 bug 阅读全文
posted @ 2020-06-18 23:25 sweet_li 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 思路的重点一个是从后往前确定两组中该用哪个数字 另一个是结束条件以第二个数组全都插入进去为止 2. 大致思路是,从后往前倒序比较两个数组大小,选取大的填充到nums1的尾部,从后往前可以避免移动数组元素。如果nums2处理完了,num1剩余元素是不需要处理的,所以遍历的时候只需要遍历nums2,但是 阅读全文
posted @ 2020-06-18 23:21 sweet_li 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-06-18 22:14 sweet_li 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 思路描述:假设 0~n-1 中没有数字 i ,那么这 n - 1 个数字的和为 sum = n*(n-1)/2 - i,那么 i = n*(n-1)/2 - sum。 其实我们可以注意到,从缺失的数字 i 开始下标和数值不相等 前两种做法时间复杂度均为 O(n),有没有更优的做法?由第二种做法我们知 阅读全文
posted @ 2020-06-18 22:12 sweet_li 阅读(1682) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-06-18 14:40 sweet_li 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-06-18 11:48 sweet_li 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-06-18 11:19 sweet_li 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-06-18 10:49 sweet_li 阅读(274) 评论(0) 推荐(0) 编辑