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)]
 }
相关推荐
busideyang2 分钟前
函数指针类型定义笔记
c语言·笔记·stm32·单片机·算法·嵌入式
Wect3 分钟前
LeetCode 215. 数组中的第K个最大元素:大根堆解法详解
前端·算法·typescript
ETA84 分钟前
面试官:说说事件冒泡与委托?这是我见过最透彻的回答
前端·javascript
深邃-14 分钟前
数据结构-双向链表
c语言·开发语言·数据结构·c++·算法·链表·html5
2401_8785302115 分钟前
分布式任务调度系统
开发语言·c++·算法
朝阳58130 分钟前
局域网聊天工具
javascript·rust
晴天1630 分钟前
Neutralinojs 核心原理解析
javascript·electron·node.js
_深海凉_32 分钟前
LeetCode热题100-两数之和
算法·leetcode·职场和发展
nunca_te_rindas36 分钟前
算法刷体小结汇总(C/C++)20260328
c语言·c++·算法
Sunshine for you39 分钟前
高性能压缩库实现
开发语言·c++·算法