数组-循环数组
那么碰到循环数组的问题,无外乎三个套路。
- 拆分(HOUSE ROBBER那道,循环道路时用的是这个技巧)
- 倍增(就是在原数组后补到2倍长度,在2倍长数组的里处理,那么原本的N长的数组,我们可以变成N个新的长度为N的数组)
0->N-1, 1- >N, 2- >N+1 ….. N-1 -> 2*n-2
分别对每种循环的可能做处理,最后汇总得到解,这题可以运用这个策略,但是时间复杂度为N^2 - 取反(求最大,变成求最小)
918. Maximum Sum Circular Subarray
Find Minimum in Rotated Sorted Array
Search in Rotated Sorted Array