第1题用map记录每个数字出现次数,取最大的即可。AC 第2题用DP,dp[i] = max(dp[i-1], dp[i-2] + i * count[i]),要么不取i,取i则要略过i-1,用dp[i-2]去加。不知道为什么11个test只过了9个,有人AC吗? 第3题直接inorder traversal然后求和即可,难点在于树的输入:arr[i]的子节点是arr[2*i+1], arr[2*i+2]。AC