上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 22 下一页
  2021年7月28日
摘要: 详细思路 定义rightdownleftup边界,一圈一圈遍历,遍历每一圈,直到四个边界相同 精确定义 rightdownleftup是包含在内的边界 num当前应该加的数 class Solution { public: vector<vector<int>> generateMatrix(int 阅读全文
posted @ 2021-07-28 23:01 offer快到碗里来~ 阅读(42) 评论(0) 推荐(0)
摘要: 详细思路 逆向遍历,cnt++,如果遇到空格退出输出 精确定义 cnt已经 i需要判断你下标 class Solution { public: int lengthOfLastWord(string s) { int cnt=0; int i=s.size()-1; while(i>=0&&s[i] 阅读全文
posted @ 2021-07-28 22:07 offer快到碗里来~ 阅读(36) 评论(0) 推荐(0)
摘要: 详细思路 遍历,如果在左边且无交集,放进答案,如果在右边且无交集,放进答案,如果有交集,更新newInterval的left和right让它扩大,最后把扩大的哪一个按良好的顺序放进答案 精确定义 i需要判断的下标 left right已经扩大 class Solution { public: vec 阅读全文
posted @ 2021-07-28 21:57 offer快到碗里来~ 阅读(32) 评论(0) 推荐(0)
摘要: 详细思路 排序,vector<pair<int,int>>保存答案,如果空或者L>ans.back()[1],放进去作为新的尾巴,否则就是可以合并的,尾巴的right更新最大值 精确定义 {L,R}需要判断的 class Solution { public: vector<vector<int>> 阅读全文
posted @ 2021-07-28 21:11 offer快到碗里来~ 阅读(42) 评论(0) 推荐(0)
摘要: 详细思路 对于每一步,都更新最远能否到达的下标,如果已经来到了最远并且此时为0,false 精确定义 maxLeft最远能否到达的下标 i需要判断 class Solution { public: bool canJump(vector<int>& nums) { int n=nums.size() 阅读全文
posted @ 2021-07-28 20:45 offer快到碗里来~ 阅读(28) 评论(0) 推荐(0)
摘要: 详细思路 从最外层遍历,每一层,左上开始,右,下,左,上,维护上下左右最后一个元素边界,直到上小于下或者左大于右 精确定义 right右界,是先右遍历的最后一个元素下标 down left up i第i个需要判断的元素 class Solution { public: vector<int> spi 阅读全文
posted @ 2021-07-28 20:44 offer快到碗里来~ 阅读(57) 评论(0) 推荐(0)
摘要: 详细思路 前i个有某种递归关系 精确定义 dp i 以i为结尾的最大子序和,dp0是下标为0的数,nums0是下标为0的数 状态转移 - - 1 dpi =max(dp[i-1]+nums[i],nums[i]) 初始化 dp 0=nums[0] class Solution { public: i 阅读全文
posted @ 2021-07-28 20:09 offer快到碗里来~ 阅读(28) 评论(0) 推荐(0)
摘要: 详细思路 dfs进入某一行,如果行==n输出,枚举每一列,如果有效就放置并进入下一行,或者不要放置,如何检查有效,检查同一列、左上、右上有就错 精确定义 depth需要放置的行,也是递归深度 i需要尝试放置的列坐标 class Solution { public: vector<vector<str 阅读全文
posted @ 2021-07-28 17:44 offer快到碗里来~ 阅读(47) 评论(0) 推荐(0)
摘要: 详细思路 哈希表,key为string,对于每个字符串先sort后存放到key对应的val,val是vector<string>,然后把每个val输出结果 class Solution { public: vector<vector<string>> groupAnagrams(vector<str 阅读全文
posted @ 2021-07-28 16:16 offer快到碗里来~ 阅读(39) 评论(0) 推荐(0)
摘要: 详细思路 顺时针翻转90度,所有格子mij->mj n-i-1,只需要在一个循环中一次性交换几个数据就可以了, 一次性交换4个数据,应该以哪些数据作为起点呢 class Solution { public: void rotate(vector<vector<int>>& matrix) { int 阅读全文
posted @ 2021-07-28 15:39 offer快到碗里来~ 阅读(115) 评论(0) 推荐(0)
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 22 下一页