題目連結:
題目意譯:
給定一整數陣列 nums 以及一整數 k,回傳 nums 之子陣列數量,其中每個子陣列各自的元素之最小公倍數為 k。
一個子陣列為一個陣列中一個連續非空元素序列。
一個陣列的最小公倍數為一個最小正整數其可以被陣列中所有元素整除。
限制:
1 ≦ nums.length ≦ 1000
1 ≦ nums[i], k ≦ 1000
範例測資:
範例 1:
輸入: nums = [3,6,2,7,1], k = 6
輸出: 4
解釋: 以下為 nums 之子陣列,其中 6 為這些子陣列各自元素的最小公倍數:
- [3,6,2,7,1]
- [3,6,2,7,1]
- [3,6,2,7,1]
- [3,6,2,7,1]
範例 2:
輸入: nums = [3], k = 2
輸出: 0
解釋: 不存在 nums 的子陣列,其中 2 為某子陣列各自元素的最小公倍數。
解題思維:
因為 nums 的最長長度也才 1000,所以直接窮舉所有可能的子陣列,然後檢查每一個子陣列的最小公倍數。過程中統計有多少個是 k 即可。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。