【字首和】523. 連續的子陣列和
阿新 • • 發佈:2022-03-16
- 根據題意,我們能很明顯的 能想到用字首和的方法去做。
- 因為字首和 可以求 區間和 。
- 也就是說,我們可以取長度大於2的區間,然後利用區間和,判斷他是否%k==0。
- 這種方法,簡單粗暴
- 程式碼如下
class Solution { public boolean checkSubarraySum(int[] nums, int k) { int len = nums.length; int[] presum = new int[len+1]; for(int i =0;i<len;i++) { presum[i+1]=presum[i]+nums[i]; } if(k==0) { return false; } if(nums.length<2) { return false; } for(int i =0;i<len;i++) { for(int j =i+2;j<=len;j++) { int temp = presum[j]-presum[i]; if(temp==0) { return true; } if(temp%k==0) { return true; } } } return false; } }
但是之前應該是可以的,如今是不能AC的,添加了一個測試資料。會超時。
因此想別的方法。