---
3. list基于特定顺序排序
1)可以拆开得到顺序的index,然后再根据index序列去排score
基于x in [0,1,2]index候选项中,value = target[x](reverse = true)的顺序排index:
target = [9, 11, 3]
sorted(range(len(score)), key = lambda x: -target[x])
>> [1, 0, 2]
2)基于x in score中,value = x[k](reverse = true)的顺序排score:
sorted(score, key = lambda x: -x[k])
---
4. 未知系列循环自变量的化解
两个收获:
1. 代码不会帮我们获得解析解: 例如 a*x=b, 写函数去直接return x这个思路不对,需要想办法直接return b/a.
2. 递归 VS 循环?用递归要想清楚最后一次调用函数的终点是什么,会返回什么值;而用循环控制的 i 就能很清楚的在范围终点跳出循环。 (在这道题中,如果采用递归,每次返回的值将作为自变量传入下一次的函数,但是超过i范围不会返回任何数,所以不适用)
class Solution:
def decode(self, encoded: List[int], first: int) -> List[int]:
base = [first]
for i in range(len(encoded)):
base.append(encoded[i] ^ base[i])
print(base)
return base