上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
摘要: 粗暴方法,先把所有区间按照左边界的大小排序,然后在一个个遍历,如果有重叠部分的就重叠起来,如果没有的就将维护的res-temp变量加入结果数组中,最费劲的是两个区间之间的关系没有搞清楚,花了一些时间,贴代码。 1 bool cmp(vector<int>& a,vector<int>& b) 2 { 阅读全文
posted @ 2021-08-25 19:19 zhaohhhh 阅读(32) 评论(0) 推荐(0)
摘要: 二分查找,写起来比较流畅,唯一的小问题是mid在数组中对应的值等于target时,需要将r和l都置为mid,方便之后的操作,贴代码 1 class Solution { 2 public: 3 vector<int> searchRange(vector<int>& nums, int target 阅读全文
posted @ 2021-08-25 17:19 zhaohhhh 阅读(34) 评论(0) 推荐(0)
摘要: 这道题无愧于描述里面的脑筋急转弯词条。用的是二分法,本质就是往高处走,峰值一定在高的地方,因为两边都是负无穷,所有只要有一个数比周边的数更大,顺着这个数就能找到一个峰值。贴代码 1 class Solution { 2 public: 3 int findPeakElement(vector<int 阅读全文
posted @ 2021-08-25 16:49 zhaohhhh 阅读(33) 评论(0) 推荐(0)
摘要: 小顶堆,三分钟写完,贴代码 class Solution { public: static bool cmp(int& a,int& b) { return a>b; } int findKthLargest(vector<int>& nums, int k) { priority_queue<in 阅读全文
posted @ 2021-08-25 10:09 zhaohhhh 阅读(23) 评论(0) 推荐(0)
摘要: 暴力的做法,先遍历一遍数组,然后把出现的数字与对应的出现次数放置在一个map中,而map自己无法根据value来排序,所以将map中的数据放置进一个vector中进行排序,撰写了一个函数用于排序的判定,最后输出前K个元素即可。贴代码 1 typedef pair<int,int> PAIR; 2 b 阅读全文
posted @ 2021-08-24 20:37 zhaohhhh 阅读(71) 评论(0) 推荐(0)
摘要: 双指针法,分别指向下一个0的位置与下一个1的位置,值得注意的是,在遇到p0<p1,也就是p0当前位置指向一个1的时候,在i指向的数据与p0指向的数据交换后,需要将i指向的数据再次与p1指向的进行交换,因为第一步操作一定换出去了一个1。完成这一操作后,p0与p1都加1。贴代码 1 class Solu 阅读全文
posted @ 2021-08-24 17:27 zhaohhhh 阅读(33) 评论(0) 推荐(0)
摘要: 和以前做的岛的题类似,但还是折腾了一会,关键问题,第一个,使用一个标志数组来实现是否经过的标志,第二个,将某点置为1之后,完成周边节点的搜索之后,将该节点变为0,很巧妙,贴代码 1 class Solution { 2 public: 3 bool exist(vector<vector<char> 阅读全文
posted @ 2021-08-24 11:48 zhaohhhh 阅读(62) 评论(0) 推荐(0)
摘要: 有了昨天那个的经验,写起这个来很快,还是经典generate,贴代码 1 class Solution { 2 public: 3 vector<vector<int>> res; 4 vector<vector<int>> subsets(vector<int>& nums) 5 { 6 for( 阅读全文
posted @ 2021-08-24 11:44 zhaohhhh 阅读(72) 评论(0) 推荐(0)
摘要: 自己的暴力(?)算法问题主要在于没有在循环的过程中重置临时变量,导致出现的问题,贴代码 class Solution { public: vector<vector<int>> res; vector<vector<int>> permute(vector<int>& nums) { vector< 阅读全文
posted @ 2021-08-23 17:40 zhaohhhh 阅读(23) 评论(0) 推荐(0)
摘要: 说实话有点难,看了题解才有一定的思路,最初的思路就是暴力递归,通过撰写判断函数的方式来进行是否正确的判断。实在是太暴力了,以至于都有点不好意思写,所以一直在想怎么在生成的过程中排除所有的错误序列。可以通过记录左右括号的数量与括号对数的关系来实现,必须要满足的是,在生成的每一步中,必须满足左括号值小于 阅读全文
posted @ 2021-08-20 17:05 zhaohhhh 阅读(40) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页