首页 > 其他分享 >数组中出现次数超过一半的数字

数组中出现次数超过一半的数字

时间:2023-04-15 20:46:27浏览次数:30  
标签:cnt 数字 val nums int Solution else 次数 数组

class Solution {
public:
    int moreThanHalfNum_Solution(vector<int>& nums) {
        int cnt=0,val=-1;//val给一个无效值即可
        for(auto x:nums)
        {
            if(!cnt)//投票最多人没了,接下来任何人都可以竞选
            {
                val=x;
                cnt=1;
            }
            else if(x==val) cnt++;
            else cnt--;//大家一起对抗
        }
        return val;
    }
};

标签:cnt,数字,val,nums,int,Solution,else,次数,数组
From: https://www.cnblogs.com/tangxibomb/p/17321804.html

相关文章

  • 数字排列
    classSolution{public:vector<vector<int>>res;vector<int>path;boolst[10];voiddfs(vector<int>&nums,intu){intn=nums.size();if(u==n){res.push_back(path);......
  • 寻找两个正序数组的中位数
    题目描述难度困难给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。算法的时间复杂度应该为O(log(m+n))。示例1:输入:nums1=[1,3],nums2=[2]输出:2.00000解释:合并数组=[1,2,3],中位数2示例2:输入:nums1=......
  • js 数组、对象转json 以及json转 数组、对象
    1、JS对象转JSON方式:JSON.stringify(obj)varjson={"name":"iphone","price":666};//创建对象;varjsonStr=JSON.stringify(json);//转为JSON字符串console.log(jsonStr);2、JS数组转JSON//数组转json串vararr=[1,2,3,{a:1}];JSON.st......
  • 数组元素排序(二)
    快速排序(QuickSort)由图灵奖获得者TonyHoare发明,被列为20世纪十大算法之一,是迄今为止所有内排序算法中速度最快的一种,快速排序的时间复杂度为O(nlog(n))。快速排序通常明显比同为O(nlogn)的其他算法更快,因此常被采用,而且快排采用了分治法的思想,所以在很多笔试面试中能经常看到快......
  • json数据按照某一个相同键值进行分类成一个新的二维json数组
    1formatTreeData(checkNodes){2varmap={},3targetData=[];4checkNodes.forEach(item=>{5if(!map[item.groupKey]){6targetData.push({7value:item.groupKey,8label......
  • 删除无效的括号(广度优先搜索、字符串)、计算右侧小于当前元素的个数(树状数组、线段
    删除无效的括号(广度优先搜索、字符串)给你一个由若干括号和字母组成的字符串s,删除最小数量的无效括号,使得输入的字符串有效。返回所有可能的结果。答案可以按任意顺序返回。示例1:输入:s="()())()"输出:["(())()","()()()"]示例2:输入:s="(a)())()"输出:["(a())()","(......
  • js中的数组方法
    js中数组方法大全平常在写代码的时候,我们经常会用到数组这个类型,那么数组到底有多少方法,方法各自的作用又是什么呢?1.toString作用:把数组转换为数组值(逗号分隔)的字符串。示例:Array.toString()2.join作用:将所有数组元素结合为一个字符串。区别与toString,join可以规定分......
  • leetcode:排序数组
    题目描述给你一个整数数组 nums,请你将该数组升序排列。示例1:输入:nums=[5,2,3,1]输出:[1,2,3,5]示例2:输入:nums=[5,1,1,2,0,0]输出:[0,0,1,1,2,5]题目地址:912.排序数组解题思路 这道题目直接告诉你了要排序,关键是选中什么样的排序算法?题目的限制条件是有两个,第......
  • Jellyfish: 快速统计长序列中每个K-mers出现次数
      Jellyfish:快速统计长序列中每个K-mers出现次数  一个老工具,2011发表于Bioinformatics,目前引用1018次。因为需要用所以看了一下原文。Jellyfish,是此研究开发的,可以快速统计长序列中每个K-mers出现次数的软件。基于K-mers的应用很广,包括基因组组装、测序......
  • 【剑指 Offer】 66. 构建乘积数组
    【题目】给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B[i]的值是数组A中除了下标i以外的元素的积,即B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。示例:输入:[1,2,3,4,5]输出:[120,60,40,30,24]来源:力扣(LeetCode)链接:https://leetc......