ETH官方钱包

前往
大廳
主題

LeetCode - 2644. Find the Maximum Divisibility Score 解題心得

Not In My Back Yard | 2024-06-21 12:00:01 | 巴幣 0 | 人氣 75

題目連結:


題目意譯:
你被給定兩個索引值從 0 開始數的整數陣列 nums 和 divisors。

divisors[i] 的「可除性分數」為索引值 j 的數量,其中 nums[j] 可以被 divisors[i] 所整除。

回傳有著最大可除性分數的 divisors[i] 之值。如果有多個整數有著最大的分數值,則回傳數值最小者。

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



範例測資:
範例 1:
輸入: nums = [4,7,9,3,9], divisors = [5,2,3]
輸出: 3
解釋: divisors 中每一個元素的可除性分數為以下:
divisors[0] 的可除性分數為 0,因為 nums 中沒有數字可以被 5 整除。
divisors[1] 的可除性分數為 1,因為 nums[0] 可以被 2 整除。
divisors[2] 的可除性分數為 3,因為 nums[0] 、 nums[3] 以及 nums[4] 都可以被 3 整除。
由於 divisors[2] 有著最大的可除性分數值,因此回傳該數。

範例 2:
輸入: nums = [20,14,21,10], divisors = [5,7,5]
輸出: 5
解釋: divisors 中每一個元素的可除性分數為以下:
divisors[0] 的可除性分數為 2,因為 nums[0] 以及 nums[3] 都可以被 5 整除。
divisors[1] 的可除性分數為 2,因為 nums[1] 以及 nums[2] 都可以被 7 整除。
divisors[2] 的可除性分數為 2,因為 nums[0] 以及 nums[4] 都可以被 5 整除。
由於 divisors[0] 、 divisors[1] 和 divisors[2] 都有著最大的可除性分數值,因此我們回傳其中最小者(即 divisors[2])。

範例 3:
輸入: nums = [12], divisors = [10,16]
輸出: 10
解釋: divisors 中每一個元素的可除性分數為以下:
divisors[0] 的可除性分數為 0,因為 nums 中沒有數字可以被 10 整除。
divisors[1] 的可除性分數為 0,因為 nums 中沒有數字可以被 16 整除。
由於 divisors[0] 和 divisors[1] 都有著最大的可除性分數值,因此我們回傳其中最小者(即 divisors[0])。


解題思維:
沒什麼特別的,對每一個 divisors[i] 去窮舉 nums 中所有數字並試除即可。




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

作者相關創作

更多創作