Algorithm
lc324_摆动序列2
做了比较久,但是没有考虑到可能先降序再升序的情况,导致卡住了…然后一直卡在了37%的AC率…
见过最变态的中等题…
看题解又看了60多分钟,真的很绕…而且题解的代码太不通俗易懂了,详见我的注释
进阶思路需要花更多的时间,但是投入产出比对于自己目前较低,pass,有兴趣的看:
https://leetcode.cn/problems/wiggle-sort-ii/solutions/1627858/bai-dong-pai-xu-ii-by-leetcode-solution-no0s/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| class Solution { public: void wiggleSort(vector<int>& nums) { int n = nums.size(); vector<int> arr = nums; sort(arr.begin(), arr.end()); int x = (n + 1) / 2; for (int i = 0, j = x - 1, k = n - 1; i < n; i += 2, j--, k--) { nums[i] = arr[j]; if (i + 1 < n) { nums[i + 1] = arr[k]; } } } };
|
lc110_平衡二叉树
当时笔试只剩9分钟了,有点慌了,于是简单题没有写完,汗颜…
递归记忆,这里就是后序遍历,先左右节点,然后根节点
链接:https://leetcode.cn/problems/balanced-binary-tree/solutions/377216/ping-heng-er-cha-shu-by-leetcode-solution/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| class Solution { public: int height(TreeNode* root) { if (root == NULL) { return 0; } int leftHeight = height(root->left); int rightHeight = height(root->right); if (leftHeight == -1 || rightHeight == -1 || abs(leftHeight - rightHeight) > 1) { return -1; } else { return max(leftHeight, rightHeight) + 1; } }
bool isBalanced(TreeNode* root) { return height(root) >= 0; } };
|
Review
【TED演讲】我们来讨论死亡
提前和家人们讨论自己对于死的计划,控制自己的死,是比较好的方式,而不是当不能说话的时候,无法按照自己的意愿结束
你就是你,你是重要的,直到你生命的最后一刻
Tips
Go mod:一文教你真正用起来Go Module依赖管理
Share
mit6.824学习资料分享:
视频:
课表+实验链接:
http://nil.csail.mit.edu/6.824/2020/schedule.html