摘要:题面 重点 遇到难题时,一遍写注释一边写代码是一个很好的习惯。 细节决定成败,由于写程序时下标选择从1开始,定义数组时潜意识里认为下标从0开始,然后就有了如下惨案: 更惨的是,上面的错误提示,压根就没涉及到数组越界,它会将我引入错误的调试过程,我以为不该在递归过程中用string类型,然后改了又改。
阅读全文
摘要:题面 官方题解 https://leetcode-cn.com/problems/combination-sum/solution/zu-he-zong-he-by-leetcode-solution/ 重点 回溯算法,采用递归实现,基本思路如下: 回溯的时候有两个递归边界条件 candidates
阅读全文
摘要:题面 重点 见源代码注释部分 源代码(重点在注释部分) 初级阶段 class Solution { public: //用递归实现回溯算法 //这里的&就是把C中的指针简化一下 void digui(string & temp,int n,vector<string> & result){ if(t
阅读全文
摘要:关于语言速度 题目链接:https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-lcof/submissions/ 综合执行用时、内存消耗,c++任然是首选
阅读全文
摘要:题面: 官方题解: https://leetcode-cn.com/problems/minimum-window-substring/solution/zui-xiao-fu-gai-zi-chuan-by-leetcode-solution/ 重点: 首先需要看懂官方题解,用滑动数组的方法,设置
阅读全文
摘要:题面: 原题:https://leetcode-cn.com/problems/wiggle-sort-ii/submissions/ 思路: 排序 取出前半段的最后一个数,再取出后半段的最后一个数 取出前半段的倒数第二个数,再取出后半段的倒数第二个数 以此类推 重点: 分段时,数组长度为n,中位下
阅读全文
摘要:leetcode-2 题面: 原题:https://leetcode-cn.com/problems/add-two-numbers/submissions/ 思路:题目并不要求求出两数相加的结果,只要求结果的各个数字,所以不要用+运算符,会溢出,一位一位的加即可 重点: 需要考虑输入的某一个链表为
阅读全文
摘要:题面 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m - 1] 。请问 k[0]*k[1]*...*k[m - 1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的
阅读全文
摘要:leetcode-刷题知识点记录 这里记录使用c++刷题过程中遇到的一些知识点 JZ开头表示《剑指offer(第2版)》系列 JZ37 queue的用法 queue name 函数 功能 时间复杂度 push(x) 将x进行入队 O(1) front() 获得队首元素,使用前调用empty()函数
阅读全文
摘要:题面 重点 遇到难题时,一遍写注释一边写代码是一个很好的习惯。 细节决定成败,由于写程序时下标选择从1开始,定义数组时潜意识里认为下标从0开始,然后就有了如下惨案: 更惨的是,上面的错误提示,压根就没涉及到数组越界,它会将我引入错误的调试过程,我以为不该在递归过程中用string类型,然后改了又改。
阅读全文
摘要:BFS模板 void BFS(int s){ queue<int> q; q.push(s); while(!q.empty()){ 取出队首元素front; 访问队首元素front; 将队首元素出队; 将front的下一层结点中未曾入队的结点全部入队,并设置已入队 } } DFS模板 递归 pri
阅读全文