摘要: 模仿十进制进位写二进制进位。 class Solution { public: string addBinary(string a, string b) { string res; reverse(a.begin(), a.end()); reverse(b.begin(), b.end()); f 阅读全文
posted @ 2020-06-29 23:01 machine_gun_lin 阅读(106) 评论(0) 推荐(0)
摘要: 用一个数组记录各个位数的变化,通过低位+1,观察各个位数的变化。 注意一下如果最高位因为进位导致多了一位,需要将进位(只可能是1 push_back()进数组) class Solution { public: vector<int> plusOne(vector<int>& digits) { r 阅读全文
posted @ 2020-06-29 22:34 machine_gun_lin 阅读(148) 评论(0) 推荐(0)
摘要: 这题完美的诠释了什么叫“面向测试用例编程”。由于要考虑的情况很多,所以基本的思路是先根据给出的测试用例写出规则判断无效的情况,然后再根据提交的错误对剩下的情况进行特判,如果不满足所有“无效的情况”,则有效。题目特别提了“我们有意将问题陈述地比较模糊”,这个“有意地陈述地模糊”就很灵性,所以一开始很难 阅读全文
posted @ 2020-06-29 22:10 machine_gun_lin 阅读(189) 评论(0) 推荐(0)
摘要: 这题和62题以及63题类似,只不过dp数组的状态表示变了,这里dp数组不再表示方案数,而是到当前格子的最小路径和。可以发现:要到达第i行第j列的格子,只有从第i - 1行第j列的格子或第i行第j - 1列的格子加上到第i行第j列的格子需要的代价(grid[i][j])得到,所以如果要得到到第i行第j 阅读全文
posted @ 2020-06-29 11:20 machine_gun_lin 阅读(68) 评论(0) 推荐(0)
摘要: 这题和62题类似,只不过这里多了障碍物,只需要把有障碍物的格子的方案数设置为0即可,其他格子还是原来的走法。 class Solution { public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { int 阅读全文
posted @ 2020-06-29 10:43 machine_gun_lin 阅读(162) 评论(0) 推荐(0)
摘要: 由于机器人只可以向右和向下移动,所以我们要到第i行第j列,只可以由第i-1行第j列和第i行第j-1列移动一步得到,因此要到第i行第j列的方案数就是到第i-1行第j列的方案数和到第i行第j-1列的方案数之和。如果用dp[i][j]表示到第i行第j列的方案数,我们可以得到状态转移方程:dp[i][j] 阅读全文
posted @ 2020-06-29 10:28 machine_gun_lin 阅读(105) 评论(0) 推荐(0)
摘要: 方法一 暴力枚举所有可能的子数组,也就是枚举子数组的所有开始下标和结束下标,计算子数组的和,如果子数组的和小于等于s,就更新最小长度。 class Solution { public: int minSubArrayLen(int s, vector<int>& nums) { if(nums.si 阅读全文
posted @ 2020-06-28 19:38 machine_gun_lin 阅读(98) 评论(0) 推荐(0)
摘要: 第一题 用一个新数组newSalary保存去掉最低和最高工资的工资列表,然后遍历newSalary,计算总和,除以元素个数,就得到了平均值。 class Solution { public: double average(vector<int>& salary) { sort(salary.begi 阅读全文
posted @ 2020-06-28 00:08 machine_gun_lin 阅读(89) 评论(0) 推荐(0)
摘要: 要将链表向右移动 k 次,可以将链表分为两部分:不移动部分和移动部分。 不移动部分就是链表前 size - k 个结点(size为链表结点个数),移动部分就是链表后 k 个结点。 对于移动部分的 k 个结点,需要将第一个结点置为新的 head 结点,并且移动部分的最后一个节点的 next 指针指向不 阅读全文
posted @ 2020-06-27 22:07 machine_gun_lin 阅读(89) 评论(0) 推荐(0)
摘要: 解法一:用next_permutation()函数,要求第k个排列,就从"123...n"开始调用 k - 1 次 next_permutation()函数即可。 class Solution { public: string getPermutation(int n, int k) { strin 阅读全文
posted @ 2020-06-27 17:38 machine_gun_lin 阅读(102) 评论(0) 推荐(0)