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