上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 22 下一页
摘要: 思路: 要求找离根节点最近的叶子节点,那么就DFS遍历下去,定义一个数来记录当前的节点到最近的叶子节点的距离,然后每次递归得到的距离都和这个最近距离比较,如果小就更新。 代码: /** * Definition for a binary tree node. * struct TreeNode { 阅读全文
posted @ 2021-04-15 20:06 Mrsdwang 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 思路: 最近发现动规很多都是从后面开始想,这题就是先考虑,第一个房子不偷和最后一个房子不偷的情况。 第一个房子不偷,就是nums[1:],最大金额是P2,最后一个房子不偷,就是nums[:n-1],最大金额是P1,那么取max(P2,P1) 对于第n个房子,如果偷了第n-1个房子,那么第n个就不偷, 阅读全文
posted @ 2021-04-15 11:51 Mrsdwang 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 思路: 排序后贪心 对所有nums里的元素进行排序,然后从后向前遍历,因为已经从小到大排序了,那么我们直接取最后三个数进行判断,即nums[i]<nums[i-1]+nums[i-2]是否满足,如果满足就break输出,因为是从最大的取,所以满足那一定是最大的周长,否则i-1,从倒数第二个开始,继续 阅读全文
posted @ 2021-04-14 16:49 Mrsdwang 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 思路: 可以用两个数组分别存奇数和偶数元素,然后再对原数组遍历,当下标为奇数就从存放奇数的数组拿出一个,当下标为偶数时就从偶数的数组拿出一个。 时间复杂度O(n),空间复杂度O(n) 另一个是原地算法,用两个指针,一个检测奇数位是否有偶数,另一个检测偶数位是否有奇数。 首先先用检测偶数位的指针遍历, 阅读全文
posted @ 2021-04-14 16:30 Mrsdwang 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 第一次见到前缀树这个词,就先认识一下吧。 该题题目说:Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。 既然是存储字符串,那么一个父亲节点应该有26个子节点。因为保存一个字符串还需要有 阅读全文
posted @ 2021-04-14 12:34 Mrsdwang 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 思路: 是二叉搜索树,那么就中序遍历吧,这样就能不用求绝对值。 需要写一个void函数,如果用原函数要返回int,会影响取最小值,且传入参数要用引用。 我们定义一个存储当前最小值res和上一个节点的值的变量pre,分别初始化为INT_MAX和-1. 然后传入root,res,pre,首先判断pre是 阅读全文
posted @ 2021-04-13 13:45 Mrsdwang 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 思路: 我们需要一个指向已排序链表的最后一个元素的指针lastsort,一个cur指针指向当前用来排序的元素。为了避免head被改变导致错误,还需要一个dummy指针指向head。 首先lastsort指向head,cur指向head->next。然后遍历链表,判断lastsort是否小于cur,如 阅读全文
posted @ 2021-04-12 16:24 Mrsdwang 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 思路: 这道题就需要对比没对数,ab和ba谁更大。那么我们就把nums的元素都放入vector里面,这样string类型利于a+b和b+a的合并。 然后通过调用sort函数根据函数a+b>b+a的lambda函数排序。 然后判断排序后的数组第一个元素是否为0,为0就return 0,否则就加入一个s 阅读全文
posted @ 2021-04-12 13:57 Mrsdwang 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 思路: hash_map存入一个数组的元素并计数,然后再遍历另一个数组如果hash_map存在这个元素,并且还没被减到0,那么就添加进res结果数组中并将hash_map计数减一。 代码: class Solution { public: vector<int> intersect(vector<i 阅读全文
posted @ 2021-04-11 23:42 Mrsdwang 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 思路: 题目给的是升序且无重叠的区间,那么我们通过遍历,不断加入数组进res结果数组里面,直到intervals[i][1]>newinterval[0]就停下。 这时在从这个i开始向后遍历,判断intervals[i][0]是否小于等于newintervals[1],如果满足,说明还存在重叠区间, 阅读全文
posted @ 2021-04-11 14:55 Mrsdwang 阅读(34) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 22 下一页