力扣刷题--简单题系列
1.人口最多的年份:
class Solution: def maximumPopulation(self, logs: List[List[int]]) -> int: delta = [0] * 101 # 变化量 offset = 1950 # 起始年份与起始下标之差 for b, d in logs: delta[b-offset] += 1 delta[d-offset] -= 1 mx = 0 # 人口数量最大值 res = 0 # 最大值对应的最小下标 curr = 0 # 每一年的人口数量 # 前缀和 for i in range(101): curr += delta[i] if curr > mx: mx = curr res = i return res + offset # 转回对应的年份
2.最富有客户的资产总量 -简单
class Solution: def maximumWealth(self, accounts: List[List[int]]) -> int: return max(sum(num) for num in accounts)
3.宝石与石头
遍历宝石J中的字符,如果在stones中,则+1
class Solution: def numJewelsInStones(self, jewels: str, stones: str) -> int: sum = 0 for j in jewels: for k in range(len(stones)): if j in stones[k]: sum += 1 return sum
4.左旋转字符串-简单
使用python,将字符串剪开两端,然后拼接
class Solution: def reverseLeftWords(self, s: str, n: int) -> str: return s[n:]+s[:n]
一行代码即可
5.
位数为偶数,与数的大小无关,可以先把数字转为字符串,统计字符串长度%2==0 即可
class Solution: def findNumbers(self, nums: List[int]) -> int: i = 0 for num in nums: if len(str(num))%2 == 0: i += 1 else: i += 0 return i
上一篇:
IDEA上Java项目控制台中文乱码