文章目录

  • 思路
  • 代码

思路

设多数元素为x,数组中x的数量 > n/2
设置一个ret,保存当前活着的元素
设置一个计数器num,记录当前ret的数量

设置ret为数组第1个元素
num为1

遍历数组
若num[i]的值=ret,则num+1(相同元素则叠加)
若num[i]的值!=ret,否则num-1(不同元素则抵消)
当num=0时,则重置num和ret(num为0说明之前最多的元素已经被抵消完了)

因为x的数量 > n/2,所以最后必定有x未被抵消,ret中保存的就是x

代码

int majorityElement(int* nums, int numsSize){int num = 1,ret = nums[0];for(int i=1;i<numsSize;i++){num += (ret==nums[i])-(ret!=nums[i]);if(num==0) {num = 1;ret = nums[i];}}return ret;
}

Leetcode题库169.多数元素(c实现)相关推荐

  1. LeetCode题库第867题 转置矩阵

    LeetCode题库第867题 转置矩阵 LeetCode题库第867题 转置矩阵 我首先想到的方法是新建一个二维的矩阵,然后遍历原来的矩阵,将每一个元素放在新矩阵中该放的位置: // javapub ...

  2. LeetCode题库第888题 公平的糖果棒交换

    LeetCode题库第888题 公平的糖果棒交换 LeetCode第888道题 公平的糖果棒交换 首先,题目中说他们两个人的糖果的总数量是不一样的,并且要将A中的一个糖果和B的一个糖果交换后使得他们两 ...

  3. LeetCode题库第1题 两数之和

    两数之和 LeetCode题库第1题 两数之和 看到题,我就想到了暴力法: public int[] force(int[] nums,int target) {for (int i = 0; i & ...

  4. LeetCode题库整理【Java】—— 1两数之和

    LeetCode题库整理[Java] 1.两数之和 题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数.你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nu ...

  5. leetcode题库:4.两个排序数组的中位数

    题目: /**   *leetcode题库:4. 求两个排序数组的中位数  *  *  给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 .  *  请找出这两个有序数组的中位数. ...

  6. 题解——两种算法解Leetcode题库第977题(暨双指针法小结)

    一.Leetcode题库第977题题目 977. 有序数组的平方 二.解法一--暴力解法 算法思路:for循环遍历数组,对数组元素做平方操作:调用sorted()函数对处理后的数组进行快速排序 算法时 ...

  7. LeetCode题库解答

    此篇博客用于记录自己在 LeetCode 网站中所做过的习题,便于日后忘记了进行查阅.前期全部采用 Python3的语法来解答,后续时间充裕的话,希望自己可以试着用 JavaScript.C++/C ...

  8. LeetCode题库第2题 两数相加

    两数相加 LeetCode题库第二题 两数相加 看完题目,就可以将题目抽象为三个指针,前两个指针是l1和l2,后一个指针是我们要求的,这三个指针同时移动,由于可能会产生进位,所以可以用一个变量来存储这 ...

  9. LeetCode题库整理【Java】—— 3 无重复字符的最长子串

    LeetCode题库整理[Java] ## 3 无重复字符的最长子串 题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" ...

最新文章

  1. zblog php 当前位置,zblogphp导航当前页突出显示的方法
  2. mui框架提供的相关api
  3. 最小生成树与最短路径的区别以及实现方法
  4. 2021-03-09 Local Lipschitz 可能存在 有限时间逃逸
  5. Python_面向对象_zipfile和tarfile
  6. kali linux关闭进程,技术|如何使用 Kali Linux 黑掉 Windows
  7. linux下多线程的创建与等待详解 【转载】
  8. 基本类型-字符、字符串、文本
  9. 爬虫项目——m3u8后缀的电影
  10. 查询解析MySQL_mysql内部查询过程详解
  11. jQuery简单好用的JavaScript代码库略解使用
  12. 机工士姆斯塔迪奥分数 20作者 DAI, Longao单位 杭州百腾教育科技有限公司
  13. python写圆柱的体积_继承实现圆柱体面积体积的计算
  14. 联想电脑重装系统总结
  15. 《白夜行》《幻夜》读后感
  16. python替换指定位置word图片_用Python在word的指定位置插入图片(使用Python-docx包)...
  17. android使用NFC的读模式
  18. 社群方案-以群组营销为切入点
  19. 谷歌浏览器iframe兼容问题_兼容解决 IE 、火狐、谷歌浏览器中 Iframe框架的页面缓存的方法...
  20. PHP8.X的新特性

热门文章

  1. 关于MultipleOutputFormat若干小记
  2. asp-Webshell免杀
  3. Python之深入解析一行代码计算每个省面积的神器Geopandas
  4. Git之深入解析如何使用Git调试项目源码中的问题
  5. pytorch慢到无法安装,该怎么办?
  6. 利用Python延迟初始化提升性能
  7. 【Qt】QSharedMemory类详解
  8. 【Linux】一步一步学Linux——pkill命令(126)
  9. 【Qt5.8】Qt5.8中串口信息类QSerialPortInfo
  10. 【Linux系统编程】进程同步与互斥:System V 信号量