Leetcode c语言众数问题
给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的,并且给定的数组总是存在多数元素。
示例 1:
输入:nums = [3,2,3]
输出:3
众数问题最容易想到的就是每个元素进行遍历,相同的标志增加,但时间复杂度为o(n^2)
超过了LeetCode的限制。
//相同加1,不同减1,最后结果大于一,这个数就是题目要求的数。
int majorityElement(int* nums, int numsSize){int sum = 0;for(int j = 0;j<numsSize;j++){for(int i = 0; i < numsSize; i++){if(nums[j]==nums[i]) sum++;else sum--;}if(sum > 0) return nums[j];else sum=0;}return -1;}
这样我们就考虑用数组保存每次数出现的次数大于一半时即可停止。
int majorityElement(int* nums, int numsSize){int shu[numsSize];memset(shu,-1,sizeof(shu));int flag[numsSize];memset(flag,0,sizeof(flag));shu[0]=nums[0];for(int j = 0;j<numsSize;j++){int i=0;while(shu[i]!=-1){if(nums[j]==shu[i]){//printf("11\n");flag[i]++;break;} else {i++;}}if(shu[i]==-1){shu[i] = nums[j];flag[i]++;}if(flag[i] > numsSize/2) return shu[i];}return -1;}
Leetcode c语言众数问题相关推荐
- LeetCode 169. 求众数(摩尔投票)
文章目录 1. 题目信息 2. 解题思路 3. 代码 3.1 排序 3.2 map计数 3.3 摩尔投票 1. 题目信息 给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ ...
- leetcode.169 求众数
给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在众数. // 示例1 输入: [3,2,3] 输出: ...
- Leetcode 169. 求众数 解题思路及C++实现
解题思路: 因为int型数值只有32位,使用位运算的方法来解这道题时,就是要确定这个众数,在32位的位置上分别是0还是1. 由题意,因为众数的个数超过n/2,所以遍历数组nums后,如果某一位置上1的 ...
- Leetcode:169. 求众数
题目链接 求众数 题目描述 给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在众数. 示例 1: 输入: ...
- LeetCode 169.求众数
题目描述: 给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在众数. 示例 1: 输入: [3,2,3] ...
- [Leetcode] Majority Element 众数
Majority Element I Given an array of size n, find the majority element. The majority element is the ...
- LeetCode 229. 求众数 II(摩尔投票)
1. 题目 给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素. 说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1). 示例 1: 输入: [3,2,3] 输出: ...
- Leetcode C语言 “加一”
加一 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 例 ...
- LeetCode JAVA语言全部解题思路+答案代码+多种解法+关键注释(持续更新...)
第一题: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组 ...
最新文章
- centos/linux扩容Swap分区
- 一起来学习 WebRTC (篇一)| 掘金技术征文
- [RabbitMQ]RabbitMQ原理与相关操作(一)
- jQuery 内容文本值|| 案例:购物车案例模块-增减商品数量 || 案例:购物车案例模块-修改商品小计
- oracle cost cardinality,ORACLE 执行计划中cost cardinality bytes cpu_cost io_cost解释
- WinAPI: GetLogicalDrives - 判断系统中存在的逻辑驱动器
- python替代_【Python】选择ipython替代python的理由
- 商淘多b2b2c商城系统怎么在个人电脑上安装_企业怎么做好b2b2c商城网站建设?...
- html离线地图,离线地图三维开发-添加HTML
- member pm.php,Dedecms 会员中心注入漏洞5
- python小测验3_python基础小测试
- Objective-C概述
- 【Photoshop】证件照换底色
- JS事件冒泡浏览器兼容
- 2019年新年书单 |不可错过的区块链好书 请查收
- 星舰到底要实现什么壮志?火星移民,月球旅行,亦是地球轨道运输
- 对字下面添加下划虚线
- gitflow概念及上传本地文件到github
- 真正解决layer弹层遮罩挡住窗体的问题
- 又是一年植树节,一起为城市添 绿,共赴“春天的约会”