首页 > 其他分享 >169. 多数元素c

169. 多数元素c

时间:2024-03-15 19:56:29浏览次数:23  
标签:numsSize count const nums int max 元素 169 多数

int cmp(const void* a,const void* b){
    return *(int*)a-*(int*)b;
}

int majorityElement(int* nums, int numsSize) {
    qsort(nums,numsSize,sizeof(int),cmp);
    int count=0,n=numsSize/2,max=nums[0];
    for(int i=1;i<numsSize;i++){
        if(nums[i]==nums[i-1]){
            count++;
            if(count>n){
                max=nums[i];
                break;
            }
        }else{
            count=1;
        }
    }
    return max;
}

结果:

标签:numsSize,count,const,nums,int,max,元素,169,多数
From: https://www.cnblogs.com/llllmz/p/18076136

相关文章

  • el-menu 点击有子元素的菜单项字体变色
    效果图: el-menu组件只是在点击跟元素时,根元素变色,如图:.el-menu-item.is-active{background-color:rgb(56,96,226)!important;color:white;} 点击有子元素的菜单时不会变色,下面可以实现:(点击有子元素菜单时,会有一个class属性is-opened,所以给其编辑样式即......
  • 【算法】二分查找——在排序数组中查找元素的第一个和最后一个位置
    leetcode链接题目描述给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。你必须设计并实现时间复杂度为O(logn)的算法解决此问题。示例1:输入:nums=[5,......
  • LeetCode题练习与总结:在排序数组中查找元素的第一个和最后一个位置
    一、题目给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回 [-1,-1]。你必须设计并实现时间复杂度为 O(logn) 的算法解决此问题。二、解题思路1.查找起始位置:使......
  • day-19 合并后数组中的最大元素
    思路:从后向前遍历数组,用tans记录每一种可能的最大值,ans为实际最大值。注意:若ans==0,返回nums[0]要用longcodeclassSolution{publiclongmaxArrayValue(int[]nums){longans=0;longtans=0;booleanflag=true;for(in......
  • leetcode: 2789. 合并数组中的最大元素
    给你一个下标从 0 开始、由正整数组成的数组 nums 。你可以在数组上执行下述操作 任意 次:选中一个同时满足 0<=i<nums.length-1 和 nums[i]<=nums[i+1] 的整数 i 。将元素 nums[i+1] 替换为 nums[i]+nums[i+1] ,并从数组中删除元素 nums[i] ......
  • 链表中的经典问题——移除链表元素I
    移除链表元素给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val==val 的节点,并返回 新的头节点 。 题解一,迭代法:解题思路:    1.首先需要考虑,链表为空或head节点的值等于val的情况,这里可以引入一个虚拟的哑节点dummy_node,该......
  • 利用规约算法实现求解数组元素最大值
    规约算法原理可参照上一篇关于规约算法求解数组和的博客,此处不再详细介绍,直接给出代码实现过程及注释。#include<stdio.h>#include<stdlib.h>#defineN1000//数组大小__global__voidfindMax(int*array,int*maxValue,int*maxIndex){__shared__ints_ma......
  • 在GPU上利用规约算法完成对数组元素累加的并行计算
    目录序言规约算法介绍GPU代码实现规约算法序言并行规约是一种适用于GPU平台的并行算法,主要提高求和、最值、均值、逻辑与和逻辑或等一类运算的并行度。若使用CPU计算,需要串行遍历所有元素得到上述运算的结果,但在GPU平台可以使用规约操作并行实现上述运算。规约算法介......
  • 347. 前 K 个高频元素C
    /***Note:Thereturnedarraymustbemalloced,assumecallercallsfree().*/typedefstructnode{intnum;intcount;}Hash;voidinset(Hash*hash,intsize,intnum){intindex=abs(num)%size;if(hash[index].count==0){hash[in......
  • 380. O(1) 时间插入、删除和获取随机元素.18071112
    380.O(1)时间插入、删除和获取随机元素实现RandomizedSet类:RandomizedSet()初始化RandomizedSet对象boolinsert(intval)当元素val不存在时,向集合中插入该项,并返回true;否则,返回false。boolremove(intval)当元素val存在时,从集合中移除该项,并返回true;否则......