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)]
 }
相关推荐
谈笑也风生14 小时前
期望个数统计(二)
算法
hans汉斯14 小时前
【人工智能与机器人研究】人工智能算法伦理风险的适应性治理研究——基于浙江实践与欧美经验的整合框架
大数据·人工智能·算法·机器人·数据安全·算法伦理·制度保障
CoderYanger14 小时前
动态规划算法-两个数组的dp(含字符串数组):42.不相交的线
java·算法·leetcode·动态规划·1024程序员节
1024肥宅14 小时前
JavaScript 数组原生方法手写实现
前端·javascript·ecmascript 6
汉堡大王952714 小时前
JavaScript类型变形记:当代码开始“不正经”地转换身份
前端·javascript
用户930510658222414 小时前
自造微前端
前端·javascript
之恒君14 小时前
寄生组合继承 vs ES6 类继承 深度对比
前端·javascript
用户516816614584114 小时前
script 标签的异步加载:async、defer、type="module" 详解
前端·javascript
m0_4711996314 小时前
【vue】dep.notify() 是什么意思?
前端·javascript·vue.js
威风的虫14 小时前
Vue3中的生命周期钩子函数
前端·javascript·vue.js