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)]
 }
相关推荐
DFT计算杂谈2 分钟前
VASP新手入门: IVDW 色散修正参数
linux·运维·服务器·python·算法
吃着火锅x唱着歌18 分钟前
LeetCode 962.最大宽度坡
算法·leetcode·职场和发展
无限进步_28 分钟前
【C++】C++11的类功能增强与STL变化
java·前端·数据结构·c++·后端·算法
一只小小Java30 分钟前
Echarts单表多图实现
前端·javascript·echarts
跟着珅聪学java30 分钟前
Element UI 的 Tabs 标签页开发教程
javascript·vue.js·elementui
WL_Aurora35 分钟前
Python 算法基础篇之排序算法(一):冒泡、选择、插入
python·算法·排序算法
凌波粒37 分钟前
LeetCode--257. 二叉树的所有路径(二叉树)
算法·leetcode·职场和发展
AI算法沐枫38 分钟前
大一学生如何入门机器学习,深度学习,学习顺序如何?
人工智能·python·深度学习·学习·线性代数·算法·机器学习
竹林81841 分钟前
用Viem替换ethers.js:一次合约交互的"减负"实战,我总算把TypeScript类型搞明白了
前端·javascript
codealy44 分钟前
Rust 核心理论: 高并发与异步(三)
算法·rust