Advertisement
Alexxik

Untitled

Oct 1st, 2023
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.58 KB | None | 0 0
  1. // MARK: - Самый частовстречающийся элемент.
  2. // Алгоритм BOYER-MOORE
  3.  
  4. // Увеличиваем count когда значение тоже самое и уменьшаем, когда другое
  5. // Если count = 0, то меняем res на текущую n
  6.  
  7. func majorityElement(_ nums: [Int]) -> Int {
  8.     var res = 0
  9.     var count = 0
  10.    
  11.     for n in nums {
  12.         if count == 0 {
  13.             res = n
  14.         }
  15.         if n == res {
  16.             count += 1
  17.         } else {
  18.             count -= 1
  19.         }
  20.     }
  21.     return res
  22. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement