当前位置:网站首页>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^5
0 <= 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
边栏推荐
- Camera calibration (I): robot hand eye calibration
- In 2021, the global revenue of syphilis rapid detection kits was about US $608.1 million, and it is expected to reach US $712.9 million in 2028
- Yyds dry goods inventory TCP & UDP
- Such as the visual appeal of the live broadcast of NBA Finals, can you still see it like this?
- 一台服务器最大并发 tcp 连接数多少?65535?
- The 29th day of force deduction (DP topic)
- 9 pyqt5 qscrollarea scroll area and qscrollbar scroll bar
- [Tang Laoshi] C -- encapsulation: member variables and access modifiers
- Battle drag method 1: moderately optimistic, build self-confidence (1)
- 同花顺开户注册安全靠谱吗?有没有风险的?
猜你喜欢
Qt6 QML Book/Qt Quick 3D/基础知识
An old programmer gave it to college students
2.6 formula calculation
JS three families
全网都在疯传的《老板管理手册》(转)
Scientific research document management Zotero
Measurement fitting based on Halcon learning -- Practice [1]
Basic preprocessing and data enhancement of image data
thrift go
Viewing Chinese science and technology from the Winter Olympics (II): when snowmaking breakthrough is in progress
随机推荐
(5) Web security | penetration testing | network security operating system database third-party security, with basic use of nmap and masscan
For in, foreach, for of
Link aggregation based on team mechanism
AI enhanced safety monitoring project [with detailed code]
浅议.NET遗留应用改造
Analyse de REF nerf
Hcie security Day10: six experiments to understand VRRP and reliability
Sort out several network request methods of JS -- get rid of callback hell
Task of gradle learning
In 2021, the global foam protection packaging revenue was about $5286.7 million, and it is expected to reach $6615 million in 2028
Instructions for common methods of regular expressions
"Actbert" Baidu & Sydney University of technology proposed actbert to learn the global and local video text representation, which is effective in five video text tasks
【c】 Digital bomb
JS three families
2.5 conversion of different data types (2)
Deep search DFS + wide search BFS + traversal of trees and graphs + topological sequence (template article acwing)
jvm jni 及 pvm pybind11 大批量数据传输及优化
全网都在疯传的《老板管理手册》(转)
Viewing Chinese science and technology from the Winter Olympics (II): when snowmaking breakthrough is in progress
Test access criteria