前往
大廳
主題

LeetCode - 2447. Number of Subarrays With GCD Equal to K 解題心得

Not In My Back Yard | 2023-09-13 12:00:24 | 巴幣 0 | 人氣 91

題目連結:


題目意譯:
給定一個整數陣列 nums 以及一整數 k,回傳 nums 中滿足當中元素之最大公因數為 k 的子陣列之數量。
 
一個子陣列為一陣列中一個非空連續元素序列。

一陣列的最大公因數為可以整除陣列中所有元素的最大整數。

限制:
1 ≦ nums.length ≦ 1000
1 ≦ nums[i], k ≦ 10 ^ 9



範例測資:
範例 1:
輸入: nums = [9,3,1,2,6,3], k = 3
輸出: 4
解釋: 以下為 nums 中的子陣列,其中 3 為這些子陣列中所有元素的最大公因數:
- [9,3,1,2,6,3]
- [9,3,1,2,6,3]
- [9,3,1,2,6,3]
- [9,3,1,2,6,3]

範例 2:
輸入: nums = [4], k = 7
輸出: 0
解釋: 不存在任何 nums 的子陣列,其中 7 為這些子陣列中所有元素的最大公因數。


解題思維:
由於 nums 的長度最大也才 1000,因此直接窮舉出所有子陣列(即所有可能的開頭與結尾)並檢查有多少子陣列的最大公因數為 k 即可。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作