上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 38 下一页
摘要: 题目: 解答: 单调栈 正向遍历,单调递增栈,找出自始至终没有出栈的最大索引 l 反向遍历,单调递减栈,找出自始至终没有出栈的最小索引 r 中间就是需要排序的最小子数组 1 class Solution { 2 public: 3 int findUnsortedSubarray(vector<in 阅读全文
posted @ 2020-05-05 17:19 梦醒潇湘 阅读(134) 评论(0) 推荐(0)
摘要: 题目: 解答: 可以在考虑不同的 endend 的同时直接找到总和,而不是考虑所有 startstart 和 endend 然后找到对应的每个子数组的总和。 我们可以选择一个特定的 start,同时迭代 end,我们可以将对应于 end 的元素添加到到目前为止形成的总和中。当 sum 等于所需的 k 阅读全文
posted @ 2020-05-05 17:14 梦醒潇湘 阅读(222) 评论(0) 推荐(0)
摘要: 题目: 解答: 利用题目中所给信息 1 ≤ a[i] ≤ n ,将出现过的数字作为数组的index(访问元素时需要减一),如果出现一次的,将该index下的数取相反数,记录此时的状态,如果值为index的数字再出现一次(此时index索引的值为负数),那么这个数字就出现了两次。 比如 数组 [2,2 阅读全文
posted @ 2020-05-05 17:10 梦醒潇湘 阅读(267) 评论(0) 推荐(0)
摘要: 题目: 解答: 此题的正确解法是利用到了一个一维数组和一个 HashMap,其中数组用来保存数字,HashMap 用来建立每个数字和其在数组中的位置之间的映射。 插入操作——先看这个数字是否已经在 HashMap 中存在,如果存在的话直接返回 false,不存在的话,将其插入到数组的末尾,然后建立数 阅读全文
posted @ 2020-05-05 17:08 梦醒潇湘 阅读(222) 评论(0) 推荐(0)
摘要: 题目: 解答: 1 class Solution { 2 public: 3 vector<int> productExceptSelf(vector<int>& nums) 4 { 5 int n = nums.size(); 6 7 //把向量output初始化为1 8 vector<int> 阅读全文
posted @ 2020-05-05 17:03 梦醒潇湘 阅读(174) 评论(0) 推荐(0)
摘要: 题目: 解答: 就很简单的遍历一遍...中间判断数字是否连续。 1 class Solution { 2 public: 3 vector<string> summaryRanges(vector<int>& nums) 4 { 5 vector<string> ans; 6 for(int i = 阅读全文
posted @ 2020-05-05 16:56 梦醒潇湘 阅读(134) 评论(0) 推荐(0)
摘要: 题目: 解答: 1 class Solution { 2 public: 3 int removeDuplicates(vector<int>& nums) 4 { 5 if (nums.size() <= 2) 6 { 7 return nums.size(); 8 } 9 10 // Initi 阅读全文
posted @ 2020-05-05 16:24 梦醒潇湘 阅读(155) 评论(0) 推荐(0)
摘要: 题目: 解答: 1 class Solution { 2 public: 3 vector<vector<int>> res; 4 5 vector<vector<int>> subsetsWithDup(vector<int>& nums) 6 { 7 // 为啥排序啊?? 8 sort(nums 阅读全文
posted @ 2020-05-05 16:15 梦醒潇湘 阅读(116) 评论(0) 推荐(0)
摘要: 题目: 解答: 回溯方法: 1 class Solution { 2 public: 3 vector<vector<int>> res; 4 5 vector<vector<int>> subsets(vector<int>& nums) 6 { 7 // 记录走过的路径 8 vector<int 阅读全文
posted @ 2020-05-05 16:05 梦醒潇湘 阅读(169) 评论(0) 推荐(0)
摘要: 题目: 解答: (1)计数排序,时间复杂度为O(n),空间复杂度为O(n)。(2)三个指针的方式,时间复杂度为O(n),空间复杂度为O(1)。 用 i 记录0应该放的位置,j 记录2应该放的位置。 cur从0到j扫描, 遇到0,放在 i 位置,i 后移 遇到2,放在 j 位置,j 前移 遇到1,cu 阅读全文
posted @ 2020-05-05 15:56 梦醒潇湘 阅读(147) 评论(0) 推荐(0)
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 38 下一页