Leetcode PHP題解--D4 961. N-Repeated Element in Size 2N Array
961. N-Repeated Element in Size 2N Array
題目連結
961. N-Repeated Element in Size 2N Array
題目分析
在長度為2N
的陣列A
中,有N+1
個元素。其中恰好有一個元素重複了N
遍。
返回這個元素。
一般演算法題用數學上的定義方法去描述問題,所以理解起來可能費勁一些。
我們來簡化一下問題:
返回陣列A中重複了N遍的元素。
=> 返回陣列A中出現了N次的元素。
其中,數字N為陣列A的長度的一半。
這就好理解了吧?
思路
輸入:
- 陣列A
需要:
-
數字N
數字N的求法:陣列A的長度除以2。
-
求元素出現次數
array_count_values
函式。
輸出:
-
用
array_search
函式,從array_count_values
函式的返回中,查詢數字N。
最終程式碼
<?php class Solution { function repeatedNTimes($A) { $countValues = array_count_values($A); $N = count($A)/2; return array_search($N,$countValues); } }
若覺得本文章對你有用,歡迎用愛發電 資助。