当前位置:网站首页>Leetcode daily question 540 A single element in an ordered array Valentine's Day special article looking for a single dog in a pile of lovers ~ the clown is myself
Leetcode daily question 540 A single element in an ordered array Valentine's Day special article looking for a single dog in a pile of lovers ~ the clown is myself
2022-07-03 20:56:00 【Ape Xiaofu】
Content of this article :leetcode A daily topic 540. A single element in an ordered array Valentine's Day Special A bunch of couples looking for a single dog ~ I didn't expect that the clown was myself
Article column :leetcode A daily topic 《 Punch in daily 》
Recent updates :2022 year 2 month 13 Japan leetcode A daily topic 1189. “ balloon ” Maximum number of Simple simulation questions ~
Personal profile : A Junior Program ape in two colleges , In the spirit of paying attention to the foundation , Clock in algorithm , Sharing technology as a personal experience summary blogger , Although you may be lazy sometimes , But I will stick to it , If you like blog posts very much , Suggest looking at the following line ~( Crazy hints QwQ)
give the thumbs-up Collection Leaving a message. One key, three links Care program ape , From you and me
Contents of this article
Write it at the front
Today is Valentine's Day however The profound meaning of this question makes the brain buzzing , Pair up , Find the elements listed , Good guy, break the defense directly , Find a single dog among lovers , I didn't think! , The clown is myself ~
subject
Give you an ordered array of integers only , Each of these elements will appear twice , Only one number will appear once .
Please find and return the number that only appears once .
The solution you design must meet O(log n) Time complexity and O(1) Spatial complexity .
Example
Example 1:
Input : nums = [1,1,2,3,3,4,4,8,8]
Output : 2
Example 2:
Input : nums = [3,3,7,7,10,11,11]
Output : 10
Tips
1 <= nums.length <= 10^50 <= nums[i] <= 10^5
Ideas
This question examines the knowledge points
There are roughly two ways to solve problems :
- The first one is : Direct violence AC Because this is an ordered array , If from the first group of elements ( A set of elements is 2 individual ) Start , If a group of elements are different Then there must be a single element between the two . Of course, you can also use hash table counting .
- The second kind : Because the time complexity of this problem is expected to be logn Then we can't use violence , Pairing , Two points search .
Code implementation
violence AC
class Solution {
public int singleNonDuplicate(int[] nums) {
int n= nums.length;
// Pair up If there is inconsistency in this group, it is not a couple Returns the first element
for(int i=0;i<n-1;i+=2){
if(nums[i] != nums[i+1]){
return nums[i];
}
}
// If you traverse to the last element, you will directly return this single dog
return nums[n-1];
}
}
Two points ( Valentine's Day Is dichotomy really good ?)
class Solution {
public int singleNonDuplicate(int[] nums) {
int left = 0;
int right = nums.length-1;
int mid ;
// Just set the template directly
while(left < right){
mid = left + (right - left )/2;
if (mid % 2 == 1)mid--;
if (nums[mid] == nums[mid+1])
left+=2;
else {
right = mid;
}
}
return nums[left];
}
}
Running results
violence AC

Two points search 
At the end
2022-2-14 Xiao Fu clocked in today ~
A beautiful sunrise Beautiful mountains and rivers
Because of you And bright dazzling

边栏推荐
- leetcode-540. A single element in an ordered array
- Analysis of gas fee setting under eip1559
- Scientific research document management Zotero
- Yyds dry goods inventory TCP & UDP
- Kubernetes abnormal communication network fault solution ideas
- 6006. Take out the minimum number of magic beans
- In 2021, the global foam protection packaging revenue was about $5286.7 million, and it is expected to reach $6615 million in 2028
- Cannot load driver class: com. mysql. cj. jdbc. Driver
- How to set the system volume programmatically- How to programmatically set the system volume?
- Is flush account opening and registration safe and reliable? Is there any risk?
猜你喜欢

Introduction to golang garbage collection

2.5 conversion of different data types (2)

运维各常用命令总结

Viewing Chinese science and technology from the Winter Olympics (II): when snowmaking breakthrough is in progress

Basic preprocessing and data enhancement of image data
![AI enhanced safety monitoring project [with detailed code]](/img/a9/cb93f349229e86cbb05ad196ae9553.jpg)
AI enhanced safety monitoring project [with detailed code]

19、 MySQL -- SQL statements and queries

An old programmer gave it to college students

Example of peanut shell inner net penetration

"Designer universe" APEC safety and health +: environmental protection Panda "xiaobaobao" Happy Valentine's Day 2022 | ChinaBrand | Asia Pacific Economic media
随机推荐
强化学习-学习笔记1 | 基础概念
鹏城杯 WEB_WP
Transformer structure analysis and the principle of blocks in it
"Designer universe" APEC safety and health +: environmental protection Panda "xiaobaobao" Happy Valentine's Day 2022 | ChinaBrand | Asia Pacific Economic media
2022 high voltage electrician examination and high voltage electrician reexamination examination
上周内容回顾
Fingerprint password lock based on Hal Library
Kubernetes abnormal communication network fault solution ideas
【leetcode】1027. Longest arithmetic sequence (dynamic programming)
11-grom-v2-04-advanced query
[postgresql]postgresql custom function returns an instance of table type
Set, weakset, map, weakmap in ES6
Design e-commerce seckill system
Wireless network (preprocessing + concurrent search)
Read the root directory of the folder, write txt and generate random samples
Rhcsa third day operation
Visiontransformer (I) -- embedded patched and word embedded
MySQL dump - exclude some table data - MySQL dump - exclude some table data
AI enhanced safety monitoring project [with detailed code]
Based on laravel 5.5\5.6\5 X solution to the failure of installing laravel ide helper