![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Array
文章平均质量分 76
WaterlooAss
这个作者很懒,什么都没留下…
展开
-
Put Marbles in Bags
现在来看这道题变成了什么, 不就是找出来最大的k-1个相邻的sum - 最小的k-1个相邻sum. 因为arr[0]和arr[last] 肯定max score和 min score里面的bags都有选, 所以可以直接抵消. 然后这个组合可以算成1对pair, 所以再找k-1个 pair (从0 到 n -1)这个题我乍一看就是用dp, 分段取. 但问题就是用dp就得三维, 因为还有一条k bags的条件. 所以一定会超时. 这个题的解法就真的genuis,这就是我们要找的 score.原创 2023-02-05 09:10:05 · 79 阅读 · 0 评论 -
Median of Two Sorted Arrays
这个题的思路就在于我们要带进cut的思想, 然后我们要把cut的position也当作一个array的位置, 举个例子. [1,2,3,4] 如果我们要找他的median, 那我们的cut就在2,3中间. 然后cut左侧的num = 2 + cut 右侧的num = 3, 取平均值.[1,2,3,4,5], 我们的cut就cut在3上, 然后因为cut就在梳子上, 所以cut左侧的数字是3, cut右侧的数字也是3, 取平均值还是3.那我们就binary search 直到找到那一个合理的cut就行了.原创 2023-01-01 10:19:51 · 55 阅读 · 0 评论 -
Find the K-Sum of an Array
然后再下一个是, maxSum - nums[1], 再下一个是 maxSum - nums[0] - nums[1], 再一个, maxSum - nums[2], 然后 maxSum - nums[0] - nums[2], 接着maxSum - nums[3]现在heap里有 (maxSum - nums[0] - nums[1], maxSum - nums[2], maxSum - nums[1] - nums[2])然后还是按照从大到小排序的。原创 2022-12-25 09:15:45 · 42 阅读 · 0 评论 -
Find the Duplicated Number
因为array of num里的每一个num 都是unique 的, 所以每一个index的nesting都对应独特的下一个index, 所以才会形成一个完整的path. 所以如果我们把其中一个num的数值改变成一个duplicated num, 那么就会有两个index 指向同一个node. 就形成了cycle.通过实践和测试, 我发现当一个array是number[1,n]的permutation时, 这个array是不会出现cycle的. 换句话说就是一个完整的path, 到最后sink node..原创 2022-08-09 01:29:01 · 182 阅读 · 0 评论 -
Array Nesting
然后进一步优化space就是可以直接把nums里所有的visit过的直接改成-1之类的数字. 然后也不需要担心会有其他的num 从别处接入已经visit过的cycle 从而增加cycle的length. 进而需要return一个更大的答案。那么说明我们只要创造一个visit[] array来记录所有visit过的num就行, 因为一个cycle里的num 不管从哪开始,最后都会变成一个cycle. 就可以直接跳过.这样的话,就是说每一个num的nums[num] 其实也都是unique的....原创 2022-08-07 13:15:55 · 56 阅读 · 0 评论