题目
思路
暴力解法:三重循环。主要是计算三角形面积的公式
题解
1 | class Solution { |
- 时间复杂度:O(n ^ 3),其中 n 是数组中元素的个数
- 空间复杂度:O(1)
执行用时:8 ms, 在所有 C++ 提交中击败了78.81%的用户
内存消耗:7.4 MB, 在所有 C++ 提交中击败了54.24%的用户
通过测试用例:57 / 57
暴力解法:三重循环。主要是计算三角形面积的公式
1 | class Solution { |
执行用时:8 ms, 在所有 C++ 提交中击败了78.81%的用户
内存消耗:7.4 MB, 在所有 C++ 提交中击败了54.24%的用户
通过测试用例:57 / 57
首先再原有的链表前面插入一个新的节点,可以减少头指针变化。若 cur->next->val == cur->next->next->val
则删除 cur->next
,然后依次判断,将所有重复的节点全部删除。
1 | /** |
执行用时:4 ms, 在所有 C++ 提交中击败了92.06%的用户
内存消耗:10.8 MB, 在所有 C++ 提交中击败了65.46%的用户
通过测试用例:166 / 166
分类讨论:
True
False
False
,否则返回 True
1 | class Solution { |
执行用时:0 ms, 在所有 C++ 提交中击败了100.00%的用户
内存消耗:6.2 MB, 在所有 C++ 提交中击败了19.66%的用户
通过测试用例:1146 / 1146
自定义 sort
排序
1 | #include <iostream> |
执行用时:18 ms
内存消耗:220KB
通过测试用例:10/10
使用 stable_sort
进行排序,因为 stable_sort
是稳定的,可确保不需要排序的数据相对位置不改变。
1 | #include<iostream> |
执行用时:31 ms
内存消耗:340KB
通过测试用例:10/10
暴力解法:遍历二维数组,先遍历列,再遍历行。
1 | class Solution { |
执行用时:36 ms, 在所有 C++ 提交中击败了68.31%的用户
内存消耗:11.9 MB, 在所有 C++ 提交中击败了33.14%的用户
通过测试用例:85 / 85
后序遍历:二叉搜索树可根据后序遍历的结果将其恢复。
序列化:只需要对二叉搜索树进行后序遍历,再将数组编码成字符串即可。
反序列化时,需要先将字符串解码成后序遍历的数组。在将后序遍历的数组恢复成二叉搜索树时,不需要先排序得到中序遍历的数组再根据中序和后序遍历的数组来恢复二叉树,而可以根据有序性直接由后序遍历的数组恢复二叉搜索树。后序遍历得到的数组中,根结点的值位于数组末尾,左子树的节点均小于根节点的值,右子树的节点均大于根节点的值,可以根据这些性质设计递归函数恢复二叉搜索树。
1 | /** |
执行用时:36 ms, 在所有 C++ 提交中击败了44.95%的用户
内存消耗:36.3 MB, 在所有 C++ 提交中击败了12.22%的用户
通过测试用例:62 / 62
使用 unordered_map
保存每个整数出现的次数,最后遍历一遍哈希表,将整数出现次数为 2 的整数存入结果数组中。
1 | class Solution { |
执行用时:68 ms, 在所有 C++ 提交中击败了19.03%的用户
内存消耗:43.5 MB, 在所有 C++ 提交中击败了9.79%的用户
通过测试用例:28 / 28
字符串
遍历一遍数组,每次从第 i 个位置截取长度为 3 字符串,然后判断字符串是否符合要求,若符合,则更新结果。
1 | class Solution { |
执行用时:0 ms, 在所有 C++ 提交中击败了100.00%的用户
内存消耗:6.4 MB, 在所有 C++ 提交中击败了100.00%的用户
通过测试用例:140 / 140
二叉树
、后序遍历
、pair
pair<int,int> getAvgVal(TreeNode* root){}
if(root==nullptr) return {0,0};
1 | /** |
执行用时:0 ms, 在所有 C++ 提交中击败了100.00%的用户
内存消耗:6.4 MB, 在所有 C++ 提交中击败了100.00%的用户
通过测试用例:140 / 140
定义两个变量,l
表示最小值0,h
表示最大值 s.size()
,然后遍历当前元素,若当前元素是 I
,则当前位置需要赋值 l
并更新l
的值,反之,则赋值h
的值,并更新h
的值。
1 | class Solution { |
执行用时:4 ms, 在所有 C++ 提交中击败了88.53%的用户
内存消耗:8.4 MB, 在所有 C++ 提交中击败了73.80%的用户
通过测试用例:95 / 95