LeetCode 热题 100 JavaScript -169多数元素

给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。

你可以假设数组是非空的,并且给定的数组总是存在多数元素。

示例 1:

输入:nums = 3,2,3

输出:3

示例 2:

输入:nums = 2,2,1,1,1,2,2

1、摩尔计数法

javascript 复制代码
var majorityElement = function(nums) {
 var candidate = nums[0]
 var count = 1
 for(var i = 1;i < nums.length;i++){
     if(nums[i] == candidate){
         count+=1
     }else{
         count -=1
         if(count==0){
             candidate = nums[i+1]
         }
     }

 }
 return candidate

};

2、调api

javascript 复制代码
 var majorityElement = function(nums) {
     var num =nums.sort()
     return num[Math.floor(num.length / 2)]
 }
相关推荐
一条大祥脚4 分钟前
ABC460贪心|多源BFS|数论|计数|线段树|树的直径
算法·宽度优先
十九画生10 分钟前
从同步到异步:重新理解 JavaScript 的执行机制
javascript
半个落月13 分钟前
JavaScript 同步异步与 Promise 详解 —— 从 Event Loop 到手写 sleep
javascript
小欣加油15 分钟前
leetcode121买卖股票的最佳时机
数据结构·c++·算法·leetcode·职场和发展
触底反弹17 分钟前
深入理解 JavaScript 同步与异步:从 Event Loop 到 async/await
javascript
浮生望23 分钟前
JavaScript 异步编程核心:从同步阻塞到 Promise 事件循环
javascript·promise
假如让我当三天老蒯26 分钟前
暂时性死区是否和闭包是相背的呢(自学用)
前端·javascript
渣波26 分钟前
前端开发主页面小技巧
前端·javascript
小林ixn28 分钟前
前端必知:JS同步异步与Promise,终于有人讲明白了!
javascript·面试
bonechips33 分钟前
JS:同步与异步,从单线程到 Promise 的编程之路
前端·javascript