当前位置: 首页 > news >正文

Leetcode 《面试经典150题》169. 多数元素

题目

给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的,并且给定的数组总是存在多数元素。

示例 1:

输入:nums = [3,2,3]
输出:3

示例 2:

输入:nums = [2,2,1,1,1,2,2]
输出:2

做题思路:

方法参照leetcode题解思路:使用迭代器遍历nums,提取第一个作为候选元素开始遍历计算,遇到相同的+1,反之-1。当为0时选用下一个元素作为候选元素再次进行后续操作。
此方法有一个问题当遇到以下数组时会显示测试用例非有效值。[2,2,1,1,1,1,2,2]

答案:

class Solution {
public:int majorityElement(vector<int>& nums) {int candidate = 0, votes = 0;;for(int n : nums){if(votes == 0)  candidate = n;  if(n == candidate)  ++votes;if(n != candidate)  --votes;}return candidate;}
};
http://www.lryc.cn/news/292544.html

相关文章:

  • 百度输入法往选字框里强塞广告
  • 分享一个Qt使用的模块间通信类
  • 工作七年,对消息推送使用的一些经验和总结
  • 计网——应用层
  • 算法面试八股文『 基础知识篇 』
  • docker-学习-4
  • el-upload子组件上传多张图片(上传为files或base64url)
  • 2024美赛数学建模C题思路源码——网球选手的动量
  • 金三银四_程序员怎么写简历_写简历网站
  • echarts条形图添加滚动条
  • Java 使用Soap方式调用WebService接口
  • 2024美赛数学建模所有题目思路分析
  • Docker容器引擎(5)
  • 百分点科技:《数据科学技术: 文本分析和知识图谱》
  • LabVIEW传感器通用实验平台
  • 向日葵企业“云策略”升级 支持Android 被控策略设置
  • 51单片机通过级联74HC595实现倒计时秒表Protues仿真设计
  • 深信服技术认证“SCCA-C”划重点:深信服云计算关键技术
  • Redis stream特性了解
  • 苍穹外卖项目可以写的简历和如何优化简历
  • C++:智能指针
  • 用户界面(UI)、用户体验(UE)和用户体验(UX)的差异
  • react 之 UseReducer
  • C++:this隐藏参数
  • MySQL事务原理-相关日志
  • 内核Oops的几种定位方法
  • 外包干了10个月,技术退步明显.......
  • 2024美赛C完整思路
  • Backtrader 文档学习- Broker - Cheat-On-Open
  • 基于微信浙江杭州某停车场车位预约小程序系统设计与实现 研究背景和意义、国内外现状