这次我只做对一题. 原因是题目返回值类型有误,写的是 String[] ,实际上应该返回 List<String> . 好吧,只能自认倒霉.就当涨涨经验. 5068. 前后拼接 解题思路 大致思路是用两层循环检查每两个短语是否能前后拼接成新短语.如果可以前后拼接,那么将它们拼接成新短语,并添加到结果列表.最后将列表升序返回. 由于需要第一个单词和最后一个单词,因此需要先进行分割处理,将得到的第一个单词和最后一个单词分别保存.由于可以确定大小,因此直接用二维数组保存即可. // ht[i][0]…
第一题 用一个新数组newSalary保存去掉最低和最高工资的工资列表,然后遍历newSalary,计算总和,除以元素个数,就得到了平均值. class Solution { public: double average(vector<int>& salary) { sort(salary.begin(), salary.end()); vector<int> newSalary; for(int i = 1; i < salary.size() - 1; ++i)…
1287.有序数组中出现次数超过25%的元素 1288.删除被覆盖区间 1286.字母组合迭代器 1289.下降路径最小和 II 下降和不能只保留原数组中最小的两个,hacked. 1287.有序数组中出现次数超过25%的元素 1287.有序数组中出现次数超过25%的元素 给你一个非递减的 有序 整数数组,已知这个数组中恰好有一个整数,它的出现次数超过数组元素总数的 25%. 请你找到并返回这个整数 示例: **输入:** arr = [1,2,2,6,6,6,6,7,10] **输出:** 6…
基础的 api 还是不够熟悉啊 5112. 十六进制魔术数字 class Solution { public: char *lltoa(long long num, char *str, int radix) { const char index[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; unsigned long long unum; int i = 0, j, k; if(radix == 10 && num <…
题目描述: 自己的提交: # """ # This is Sea's API interface. # You should not implement it, or speculate about its implementation # """ #class Sea(object): # def hasShips(self, topRight: 'Point', bottomLeft: 'Point') -> bool: # #clas…
题目描述: 自己的提交:动态规划 class Solution: def deleteTreeNodes(self, nodes: int, parent: List[int], value: List[int]) -> int: dp = [[0, 0]for _ in range(nodes)] p = collections.defaultdict(list) for i, v in enumerate(parent): p[v].append(i) for i in range(node…
题目描述: 自己的提交: class Solution: def removeInterval(self, intervals: List[List[int]], toBeRemoved: List[int]) -> List[List[int]]: res = [] for i in intervals: if i[0] >= toBeRemoved[1] or i[1] <= toBeRemoved[0]: res.append(i) else: if i[0] < toBeR…
自己的提交: class Solution: def toHexspeak(self, num: str) -> str: num = hex(int(num)) num = str(num)[2:] res = "" for i in num: ": i = "O" ": i = "I" i = i.upper() if i not in {"A", "B", "C&q…
题目描述: 方法: class Solution: def maximizeSweetness(self, A: List[int], K: int) -> int: def possible(x): k, temp = 0, 0 for a in A: temp += a if temp >= x: k, temp = k + 1, 0 return k >= K + 1 l, h = min(A), sum(A)             // mid 向上取整,在一般的二分里 lef…
题目描述: 二维dp: class Solution: def probabilityOfHeads(self, prob: List[float], target: int) -> float: dp = [[0 for _ in range(target+1)] for _ in range(len(prob)+1)] dp[0][0] = 1.0 for i in range(1,len(prob)+1): for j in range(target+1)[::-1]: dp[i][j]…