LeetCode 540. 有序数组中的单一元素(c语言实现)
540. 有序数组中的单一元素
给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。
请你找出并返回只出现一次的那个数。
你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。
示例 1:
输入: nums = [1,1,2,3,3,4,4,8,8]
输出: 2
示例 2:
输入: nums = [3,3,7,7,10,11,11]
输出: 10
提示:
- 1 <= nums.length <= 10^5
- 0 <= nums[i] <= 10^5
解题思路:
- 以空间换时间,重新创建一个数组
- 统计原数组中所有数字出现的频率
- 遍历新数组,查找出现次数为1次的数字
int singleNonDuplicate(int* nums, int numsSize){int numCount[100000] = {0};//创建一个10^5大小的数组for(int i = 0; i < numsSize; i++){numCount[nums[i]]++;//统计原数组中数字的出现频率}for(int i = 0; i < numsSize; i++){if(numCount[nums[i]] != 2){return nums[i];//再次遍历,找到原数组中出现次数为1次的数字即可}}return -1;
}
LeetCode 540. 有序数组中的单一元素(c语言实现)相关推荐
- LeetCode 540. 有序数组中的单一元素(Single Element in a Sorted Array) 42
540. 有序数组中的单一元素 540. Single Element in a Sorted Array 题目描述 每日一算法2019/6/14Day 42LeetCode540. Single E ...
- LeetCode 540. 有序数组中的单一元素(位运算二分查找)
1. 题目 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数. 示例 1: 输入: [1,1,2,3,3,4,4,8,8] 输出: 2示例 2: 输入: [3,3 ...
- LeetCode 540 有序数组中的单一元素
题目描述 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这 个数. 题解 二分查找 代码 class Solution { public:int singleNonD ...
- LeetCode 540.有序数组中的单一元素
目录 题目 示例 C语言代码 逐个异或 正常遍历 题目 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数. 示例 输入: nums = [1,1,2,3,3,4, ...
- 「 每日一练,快乐水题 」540. 有序数组中的单一元素
✅力扣原题: 力扣链接:540. 有序数组中的单一元素 ✅题目简述: 给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次. 请你找出并返回只出现一次的那个数. 你设计的解 ...
- 540. 有序数组中的单一元素 golang
540. 有序数组中的单一元素 golang func singleNonDuplicate(nums []int) int {if len(nums) <= 1 {return nums[0] ...
- 540. 有序数组中的单一元素
540. 有序数组中的单一元素 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数. 示例 1: 输入: [1,1,2,3,3,4,4,8,8] 输出: 2 示例 ...
- 540.有序数组中的单一元素
难度:中等 目录 一.问题描述 二.思路 1.解题思路 1.思路一 2.思路二 2.极端情况判断 3.极端情况解决 三.解题 1.代码实现 1.方法一 2.方法二 2.时间复杂度 and 空间复杂度 ...
- leetcode算法题--有序数组中的单一元素
原题链接:https://leetcode-cn.com/problems/single-element-in-a-sorted-array/ 使用二分查找法,索引是偶数则应后面一个相等,索引为奇数则 ...
最新文章
- Linux 操作系统原理 — 文件系统 — 存储布局
- 布线时其他区域变黑、高亮Net时其他区域太黑
- Spring原理简述
- C#中用WebClient.UploadData 方法上载文件数据
- java比较时间sql_如何正确比较日期 java.sql.Date
- Python 圈精选文章
- 摄像头 保存到外网服务器_直播平台搭建千万不要忽略流媒体服务器的存在
- java程序的运行方式
- 集中器到服务器传输协议,集中器130通讯协议(捷先数码).doc
- 7、数据表添加字段(三种方式)
- 李少白讲摄影-不放过一切光线 地坛书市新书首发圆满结束
- 怎样开启浏览器位置服务器,怎样打开浏览器定位服务器地址
- python 闲鱼_python之tk学习,闲鱼搜索-小记
- 苹果官网下架iPhone 8;破解百度网盘的Pandownload开发者被捕;三大运营商年内上线5G消息 | EA周报...
- 信息安全与管理2002_李付贵
- 第五章语言模型:n-gram
- Qt 5入门指南之Qt Quick编程示例
- 三星打印机通过无线网连接到服务器,多种连接方式 三星无线打印轻松享
- 继电器模块的的使用方法、引脚说明、内部结构、接线说明(超通俗超详细看了就能给别人讲)
- Hadoop服务启动出现Permission denied (publickey,password).