1523. Count Odd Numbers in an Interval Range
数学题,数据范围是10^9,O(n) 会超时,统计 high 中有多少个奇数,减去 low-1 中的奇数个数,需要考虑边界条件:low/high 自身为奇数情况。
1 | class Solution: |
1528. Shuffle String
按照指定顺序调整字符串,直接定义一个新的长度为 len(s)字符串,然后按照 indices 的索引顺序进行对应调整。
1 | class Solution: |
1524. Number of Sub-arrays With Odd Sum
用两个变量分别记录奇数和偶数的个数,遍历数组,如果当前数字是奇数,那么 odd 等于偶数个数 +1,1为当前数字,even 等于奇数个数,因为奇数个数加上当前数字(奇数)为偶数;如果当前数字是偶数,那么 odd 等于 odd,偶数个数等于 even + 1,1为当前数字。
1 | const mod = int(1e9 + 7) |
1525. Number of Good Ways to Split a String
使用 Counter 统计当前字符串中的字符出现的次数,left 表示切割索引左侧字符出现的次数,right 表示切割索引右侧字符出现的次数,遍历字符,如果 right[x] == 0,那么表示右侧已经没有字符 x,那么需要将对应的 key(x) 从 right 中删除,比较 left 中的 key 数量与 right 中是否相同,如果相同,则记录。
1 | class Solution: |
1529. Bulb Switcher IV
统计需要翻转开关的次数,就是统计最终状态中 0,1 切换的次数,比如001011101
,0,1 切换分别在 001
, 10
, 0111
, 1110
, 01
这五个位置出现了切换。
1 | func minFlips(target string) int { |