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)]
 }
相关推荐
玖釉-3 小时前
下一个排列:从字典序到原地算法的完整推导
数据结构·c++·windows·算法
IronMurphy3 小时前
【算法五十】62. 不同路径
算法
影寂ldy3 小时前
C#一维数组
算法
过期动态4 小时前
【LeetCode 热题 100】移动零
java·数据结构·算法·leetcode·职场和发展·rabbitmq
计算机安禾4 小时前
【算法分析与设计】第10篇:下界理论与NP完全性初步
大数据·人工智能·算法
zithern_juejin5 小时前
new 运算符
javascript
前端毕业班5 小时前
uniapp web 灵活控制 style scoped
前端·javascript·vue.js
水木流年追梦5 小时前
大模型入门-大模型分布式训练2
开发语言·分布式·python·算法·正则表达式·prompt
张元清6 小时前
在 React 里写动画又不跟渲染周期较劲:useRafFn、useRafState、useFps、useDevicePixelRatio、useUpdate
前端·javascript·面试