Day 68

第538题:

给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。来源:力扣(LeetCode)

 

1、 二叉搜索树,可知它的中序遍历是升序的,那么它的中序遍历反过来就是一个降序的序列;

  而转换成累加树,就是将每个节点的值加上树里面所有比它大的值;

  那么遍历到第一个时,它是最大的,不需要加任何数,当遍历到后面的元素时,将前面累加的所有比它大的累加到这个元素内;

  最后就得到了最后的累加树。

  

第506题:

出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”("Gold Medal", "Silver Medal", "Bronze Medal")。来源:力扣(LeetCode)

(注:分数越高的选手,排名越靠前。)

 

 

1、对数组内的各个成绩进行大小判断,前三可以获得金银铜牌;

  我们需要先用哈希表记录下每个人成绩再原数组内的位置 ,然后对成绩进行排序;

  将res内对应的前三名的成绩下标对应的值改为金银铜牌,其他的成绩排名也加入数组res。

  

posted @ 2020-09-21 19:51  Liang-Yi  阅读(83)  评论(0编辑  收藏  举报