2021年7月29日
摘要: 详细思路 用p0 p2从左右开工,p0是已经弄好的1,p2是已经弄好的2;从左往右,如果是0放到p0如果是2放到p2 精确定义 p0 是下标已经弄好,如p0=0代表下标0已经弄好 p2 是p2=n-1代表p2已经弄好 class Solution { public: void sortColors( 阅读全文
posted @ 2021-07-29 23:54 offer快到碗里来~ 阅读(88) 评论(0) 推荐(0)
摘要: 详细思路 二分,left=0,right=n*m-1,mid=left+(right-left)/2,将mid映射为ij,j=mid%m; i=mid/m class Solution { public: bool searchMatrix(vector<vector<int>>& matrix, 阅读全文
posted @ 2021-07-29 23:22 offer快到碗里来~ 阅读(34) 评论(0) 推荐(0)
摘要: 详细思路 用行数组,列数组,遍历一遍标记哪些行列要变成0,再遍历一遍变成0 精确定义 row i 下标为i的行 col j 下标为j的列 class Solution { public: void setZeroes(vector<vector<int>>& matrix) { int n=matr 阅读全文
posted @ 2021-07-29 23:07 offer快到碗里来~ 阅读(46) 评论(0) 推荐(0)
摘要: 详细思路 前ij个字符具有某种递推关系 精确定义 dp ij word1前i个字符,word2前j个字符,操作数,dp00是没有字符,dp11是第一个字符 word i word0是第一个字符 转移 - - a - - a dpi j=dpi-1 j-1 - - a - - b dpij=min(d 阅读全文
posted @ 2021-07-29 22:33 offer快到碗里来~ 阅读(33) 评论(0) 推荐(0)
摘要: 详细思路 将输入存储在stringstream流,读取字符直到/并存放在cur,需要判断cur,如果是空或者.跳过,如果是..而ans不为空pop,如果是其余就放到ans表示文件名 精确定义 cur需要判断的字符串 ans已经处理好的文件名 class Solution { public: stri 阅读全文
posted @ 2021-07-29 21:41 offer快到碗里来~ 阅读(33) 评论(0) 推荐(0)
摘要: 详细思路 第i阶时具有某种递推关系 精确定义 dpi 到达第i阶具有的方法,dp0是没有一阶,dp1是第1阶 转移 - - - - dpi =dp i-1 +dpi-2 初始化 dp0 =0 dp1=1 优化空间 dpi=dpi1+dpi2 dpi2=dpi1 dpi1=dpi class Solu 阅读全文
posted @ 2021-07-29 20:57 offer快到碗里来~ 阅读(24) 评论(0) 推荐(0)
摘要: 详细思路 二分,找到中间,比较mid*mid和x,如果mid*mid<=x并且mid+1*mid+1>x答案,退出 精确定义 left第一个数 right最后一个数 mid需要判断 class Solution { public: int mySqrt(int x) { int left=1,rig 阅读全文
posted @ 2021-07-29 20:35 offer快到碗里来~ 阅读(70) 评论(0) 推荐(0)
摘要: 详细思路 倒序,转化成int相加加carry到add,如果>1,carry=1,否则0,把add-2+'0'放到a[]或者b[]谁长放谁,短的到头继续来只是短的当做0,最后长的到头处理carry退出 精确定义 i需要 class Solution { public: string addBinary 阅读全文
posted @ 2021-07-29 16:31 offer快到碗里来~ 阅读(55) 评论(0) 推荐(0)
摘要: 详细思路 分类讨论,+-只能在首尾或者e下一位,遇到E,只能有一个,前面必须有数字,后面必须也有数字,小数点只能有一个,前面不能有E class Solution { public: bool hasE, hasNum, hasFloat; bool isNumber(string& s) { fo 阅读全文
posted @ 2021-07-29 15:23 offer快到碗里来~ 阅读(59) 评论(0) 推荐(0)
摘要: 详细思路 fij具有某种递推关系 精确定义 dpij 下标00代表第一行第一列,从00走到下标ij的路线总数 递推 - - - - - - - - - dp ij =dp[i-1][j]+dp[i][j-1] 初始化 dp 0 0=1;dp i 0=1 dp0 i=1 class Solution 阅读全文
posted @ 2021-07-29 10:15 offer快到碗里来~ 阅读(26) 评论(0) 推荐(0)
摘要: 详细思路 dpij具有某种递推关系 精确定义 dp ij dp00为第一行第一列,从下标00到下标ij路线数 递推 0 0 0 0 1 0 0 0 0 dp[i][j]=0(如果1) dp[i][j]=dp[i-1][j]+dp[i][j-1] 初始化 如果为0,dp0 0=1 dpi 0=1 dp 阅读全文
posted @ 2021-07-29 10:15 offer快到碗里来~ 阅读(40) 评论(0) 推荐(0)