speaking part2 part
day18 - 二叉树 part05
513. 找树左下角的值 详解 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), le ......
day17 - 二叉树part04
110. 平衡二叉树 详解 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left ......
[代码随想录]Day29-贪心算法part03
## 题目:[1005.K次取反后最大化的数组和](https://leetcode.cn/problems/maximize-sum-of-array-after-k-negations/) ### 思路: 思路是: 1. 先把负数从小到大变成正数(即绝对值由大到小) 2. 如果还需要变化(k>0 ......
[代码随想录]Day28-贪心算法part02
## 题目:[122. 买卖股票的最佳时机 II](https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/) ### 思路: 假如第 0 天买入,第 3 天卖出,那么利润为:prices[3] - prices[0]。 相当于 ......
hashtable-part02
454 - 四数相加 相关题解参考:https://leetcode.cn/problems/4sum-ii/solutions/65894/chao-ji-rong-yi-li-jie-de-fang-fa-si-shu-xiang-jia/ 一开始看是一点思路都没有,又是看了别人的巧妙题解,又是 ......
[代码随想录]Day27-贪心算法part01
## 题目:[455. 分发饼干](https://leetcode.cn/problems/assign-cookies/ "455. 分发饼干") ### 思路: 贪心,思路是尽量先给胃口值小的分,饼干也是从小的开始分: 1. 如果饼干满足了胃口值,结果+1换下一个人,下一个饼干 2. 如果饼干 ......
哈希表 part 1
相关阅读:https://docs.qq.com/doc/DUEtFSGdreWRuR2p4 当遇到了要快速判断一个元素是否出现集合里的时候,就需要考虑哈希法。 1. 两数之和 def twoSum(self, nums, target): """ :type nums: List[int] :ty ......
创建第一个Django app-part5
# 自动化测试 ## 开始第一个测试 ### 首先有一个bug `python3 manage.py shell` ### 创建一个测试来暴露这个 bug > 将下面的代码写入 polls 应用里的 tests.py 文件内 点击查看代码 ```python from django.test imp ......
day16 - 二叉树part03
104. 二叉树的最大深度 详解 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), l ......
[代码随想录]Day26-回溯算法part06
## 题目:[332. 重新安排行程](https://leetcode.cn/problems/reconstruct-itinerary/) ### 思路: 其实这里已经是图的部分了,回溯应该也可以。Hierholzer算法解决欧拉问题 ### 代码: ```go func findItiner ......
day15 - 二叉树 part02
102. 二叉树的层序遍历 详解 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), l ......
[代码随想录]Day25-回溯算法part05
## 题目:[491. 递增子序列](https://leetcode.cn/problems/non-decreasing-subsequences/ "491. 递增子序列") ### 思路: 核心问题——同层去重,这一题不能够重新排序因此不可以用`i > index && nums[i] == ......
day14 - 二叉树part01
144. 二叉树的前序遍历 详解 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), l ......
day13 - 栈与队列part03
239. 滑动窗口最大值 详解 // 队列que是STL的双向队列deque // 队列存放的是元素在序列中的序号 //参考https://www.jianshu.com/p/e59d51e1eef5 class Solution { public: vector<int> maxSlidingWi ......
[代码随想录]Day24-回溯算法part04
## 题目:[93. 复原 IP 地址](https://leetcode.cn/problems/restore-ip-addresses/ "93. 复原 IP 地址") ### 思路: 1. 函数参数:参数就一个stirng,path先收集ip地址的四个部分,最后存入res中时拼接成一个str ......
day11 - 栈与队列part02
20. 有效的括号 详解 class Solution { public: bool isValid(string s) { //最里面一对是相邻闭合 stack<char> stack_1; for(int i=0; i< s.length(); i++){ if(s[i] == '(' || s ......
[代码随想录]Day23-回溯算法part03
## 题目:[39. 组合总和](https://leetcode.cn/problems/combination-sum/description/ "39. 组合总和") ### 思路: 一样的递归套路: 1. 函数参数:因为要求和,所以有一个当前和的参数;另外因为**要保证没有重复的结果**,所 ......
《代码整洁之道 Clean Code》学习笔记 Part 1 - 命名、注释、格式
> 前段时间在看《架构整洁之道》,里面提到了:构建一个好的软件系统,应该从写整洁代码做起。毕竟,如果建筑使用的砖头质量不佳,再好的架构也无法造就高质量的建筑。趁热打铁,翻出《代码整洁之道》再刷一遍。 # 《代码整洁之道 Clean Code》学习笔记 Part 1 ### 衡量代码质量的唯一标准:W ......
[代码随想录]Day22-回溯算法part02
## 题目:[216. 组合总和 III](https://leetcode.cn/problems/combination-sum-iii/) ### 思路: 多加一个记录和的参数,还有一个起始位置的参数(不重复就得加) 结束条件是个数到了k: 1. 如果此时sum == n那就说明答案正确 2. ......
[代码随想录]Day21-回溯算法part01
## 题目:[77. 组合](https://leetcode.cn/problems/combinations/) ### 思路: 回溯就是dfs的一个特殊情况也就是递归的一种情况,值得注意的一点: 要记得深拷贝,不然最后全是空 ### 代码: ```go var res [][]int var ......
day10 - 栈与队列part01
232. 用栈实现队列 详解 class MyQueue { public: stack<int> st_in; stack<int> st_out; MyQueue() { } void push(int x) { st_in.push(x); } int pop() { if(st_out.em ......
DAY 04 ~JAVA 基礎語法 Part 2(類型轉換/變量與常量/運算符/包機制/JAVADOC)
# JAVA 基礎語法 Part 2 ## 類型轉換 - 由於JAVA士強類型語言,所以要進行運算的時候,需要用到類型轉換 ```java 低 >高 byte,short,char-> int-> long-> float-> double ``` - 運算中,不同類型的數據先轉化為同一類型,然後進 ......
[代码随想录]Day20-二叉树part09
## 题目:[669. 修剪二叉搜索树](https://leetcode.cn/problems/trim-a-binary-search-tree/) ### 思路: 遍历到的值小于最小值,说明左子树里的所有节点都小于最小值,舍弃左子树。 遍历到的值大于最大值,说明右子树里的所有节点都大于最大值 ......
[代码随想录]Day19-二叉树part08
## 题目:[235. 二叉搜索树的最近公共祖先](https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/) ### 思路: BST和普通二叉树不同的一点是可以根据特性来找最近公共祖先,只要找到第一个值 ......
day08-字符串part01
344. 反转字符串 详解 class Solution { public: void reverseString(vector<char>& s) { int left = 0; int right = s.size() - 1; while(left <= right){ // char tmp ......
day07 - 哈希表part02
454. 四数相加 II 讲解 class Solution { public: int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) { //map unor ......
[代码随想录]Day18-二叉树part07
## 题目:[530. 二叉搜索树的最小绝对差](https://leetcode.cn/problems/minimum-absolute-difference-in-bst/) ### 思路: 一个关键问题——BST的中序遍历是由小到大的顺序,也就是说记录遍历的前一个节点,每次比较当前节点-前一 ......
day06 - 哈希表part01
242. 有效的字母异位词 讲解 class Solution { public: bool isAnagram(string s, string t) { if(s.length() != t.length()) return false; map<char, int> map_s; map<ch ......
day34 贪心算法part3
[1005.K次取反后最大化的数组和](https://leetcode.cn/problems/maximize-sum-of-array-after-k-negations/description/) ![](https://img2023.cnblogs.com/blog/1076992/20 ......