当前位置:网站首页>Vanishing numbers
Vanishing numbers
2022-07-04 09:47:00 【skeet follower】
Array nums Contains from 0 To n All integers of , But one of them is missing . Please write code to find the missing integer .
The required time complexity is O(n), The space complexity is O(1).
Example 1:
Input :[3,0,1] Output :2
Example 2:
Input :[9,6,4,2,3,5,7,0,1] Output :8
Train of thought :
Using the properties of XOR ,res = res ^ x ^ x. XOR the same value twice , Then the result is equal to itself , So we are right res from 0-nums.length To engage in exclusive or , At the same time nums XOR the values in the array , If there is a repetition, it will disappear , So finally res The value of is a number that appears only once , That is to say nums The missing number in the array .
int missingNumber(int* nums, int numsSize){
int ret=0;
int i=0;
for(i=0;i<=numsSize;i++){
ret^=i;
}
for(i=0;i<numsSize;i++)
{
ret^= nums[i];
}
return ret;
}int missingNumber(int* nums, int numsSize){
int ret=0;
int i=0;
for(i=1;i<=numsSize;i++){
ret^=i;
ret^=nums[i-1];
}
return ret;
}int missingNumber(int* nums, int numsSize){
int ret=0;
int i=0;
for(i=0;i<numsSize;i++){
ret^=i;
ret^=nums[i];
}
ret^=numsSize;
return ret;
}Train of thought two :
Before finding out n+1 Sum of numbers , Subtract the number in the array , It's the disappearing number .
int missingNumber(int* nums, int numsSize){
int i=0;
int sum=0;
for(i=0;i<numsSize+1;i++){
sum+=i;
}
for(i=0;i<numsSize;i++){
sum-=nums[i];
}
return sum;
}Train of thought three :
Open up another large space array , The number of the original array is used as the index of the new array , Then mark it as 1, Then traverse the new array instead of 1 The index of is what you want .
int missingNumber(int* nums, int numsSize){
int i;
int* tmp=(int* )malloc(sizeof(int)*(numsSize+1));
for(i=0;i<numsSize;i++){
tmp[nums[i]]=1;
}
for(i=0;i<numsSize;i++){
if(tmp[i]!=1)
break;
}
return i;
}Train of thought four :
Hashtable
int missingNumber(int* nums, int numsSize){
int f[10000]={0};
int i;
for(i=0;i<numsSize;i++){
f[nums[i]]++;
}
for(i=0;i<10000;i++){
if(f[i]==0)
break;
}
return i;
}Is there any good way , Leave a message in the comment area and we will discuss .
边栏推荐
- Hands on deep learning (43) -- machine translation and its data construction
- Sort out the power node, Mr. Wang he's SSM integration steps
- el-table单选并隐藏全选框
- Baidu R & D suffered Waterloo on three sides: I was stunned by the interviewer's set of combination punches on the spot
- Hands on deep learning (41) -- Deep recurrent neural network (deep RNN)
- 百度研发三面惨遭滑铁卢:面试官一套组合拳让我当场懵逼
- pcl::fromROSMsg报警告Failed to find match for field ‘intensity‘.
- Global and Chinese market of bipolar generators 2022-2028: Research Report on technology, participants, trends, market size and share
- 2022-2028 global industrial gasket plate heat exchanger industry research and trend analysis report
- 智慧路灯杆水库区安全监测应用
猜你喜欢

QTreeView+自定义Model实现示例

Hands on deep learning (33) -- style transfer

C # use ffmpeg for audio transcoding

SQL replying to comments

ASP. Net to access directory files outside the project website

Svg image quoted from CodeChina

Hands on deep learning (40) -- short and long term memory network (LSTM)

Advanced technology management - how to design and follow up the performance of students at different levels

Baidu R & D suffered Waterloo on three sides: I was stunned by the interviewer's set of combination punches on the spot

Leetcode (Sword finger offer) - 35 Replication of complex linked list
随机推荐
Hands on deep learning (34) -- sequence model
Write a jison parser from scratch (1/10):jison, not JSON
Write a jison parser (7/10) from scratch: the iterative development process of the parser generator 'parser generator'
2022-2028 global industrial gasket plate heat exchanger industry research and trend analysis report
Logstack configuration details -- elasticstack (elk) work notes 020
Write a jison parser from scratch (4/10): detailed explanation of the syntax format of the jison parser generator
H5 audio tag custom style modification and adding playback control events
How can people not love the amazing design of XXL job
Golang Modules
lolcat
Get the source code in the mask with the help of shims
Explanation of closures in golang
2022-2028 global tensile strain sensor industry research and trend analysis report
Launpad | 基礎知識
Golang type comparison
Hands on deep learning (37) -- cyclic neural network
Upgrading Xcode 12 caused Carthage to build cartfile containing only rxswift to fail
Leetcode (Sword finger offer) - 35 Replication of complex linked list
2022-2028 global edible probiotic raw material industry research and trend analysis report
Svg image quoted from CodeChina