1394. Find Lucky Integer in an Array
找幸运数字,可以维护一个数组,然后统计出现过的次数,也可以直接使用 collections.Counter 实现。
1 | class Solution(object): |
1395. Count Number of Teams
遍历数组,假设当前数值是中间位置,因为要考虑到倒序排序,所以要找到左边比当前数值小的和比当前数值大的,找到右边比当前数值小的和比当前数值大的,然后进行排列组合。
1 | class Solution(object): |
1396. Design Underground System
使用 dict ,在 checkin 的时候以 id 为key,记录地铁站和时间,在 checkout 的时候以 (checkin_station, checkout_station) 为 key,记录所用时间,需要注意多次的情况,记录次数,在 getAverageTime 的时候直接根据 (checkin_station, checkout_station) 从 dict 中读取所用时间总和和次数,进行除法计算每次结果。
1 | class UndergroundSystem: |
1262. Greatest Sum Divisible by Three
可以用单纯的数学方式做,先统计所有数字的和,然后遍历数字,找出余数为 1 和余数为 2 的数值,当总和余数为 1 时,则减去余数为1 的最小的数字,当总和余数为 2 时,则减去余数为 2 的最小的数字。需要注意比较余数为 1 和余数为2 要进行大小相比,如果 两个余数为2的数值之和小于余数为1 的数值,那么此时应该减去的数字为前者。
也可以采用动态规划做,维护一个 dp,分别存储余数为 0,1,2 的最大数字和,遍历数字,更新相加后的余数最大和,最后返回余数为0 的最大和。
1 | class Solution: |
1 | func maxSumDivThree(nums []int) int { |
1232. Check If It Is a Straight Line
一道数学题,先用前两个点来计算出斜率,然后遍历之后的点,验证斜率是否一致。
1 | class Solution: |