第538题:
给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。来源:力扣(LeetCode)
1、 二叉搜索树,可知它的中序遍历是升序的,那么它的中序遍历反过来就是一个降序的序列;
而转换成累加树,就是将每个节点的值加上树里面所有比它大的值;
那么遍历到第一个时,它是最大的,不需要加任何数,当遍历到后面的元素时,将前面累加的所有比它大的累加到这个元素内;
最后就得到了最后的累加树。
第506题:
出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”("Gold Medal", "Silver Medal", "Bronze Medal")。来源:力扣(LeetCode)
(注:分数越高的选手,排名越靠前。)
1、对数组内的各个成绩进行大小判断,前三可以获得金银铜牌;
我们需要先用哈希表记录下每个人成绩再原数组内的位置 ,然后对成绩进行排序;
将res内对应的前三名的成绩下标对应的值改为金银铜牌,其他的成绩排名也加入数组res。