当前位置:网站首页>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 .
边栏推荐
- IIS configure FTP website
- About the for range traversal operation in channel in golang
- Intelligent gateway helps improve industrial data acquisition and utilization
- What are the advantages of automation?
- Go context 基本介绍
- 2022-2028 global edible probiotic raw material industry research and trend analysis report
- Exercise 8-7 string sorting (20 points)
- 什么是 DevSecOps?2022 年的定义、流程、框架和最佳实践
- 2022-2028 global optical transparency industry research and trend analysis report
- Hands on deep learning (34) -- sequence model
猜你喜欢

Sort out the power node, Mr. Wang he's SSM integration steps

2022-2028 global special starch industry research and trend analysis report

xxl-job惊艳的设计,怎能叫人不爱

C语言指针面试题——第二弹

Intelligent gateway helps improve industrial data acquisition and utilization

Log cannot be recorded after log4net is deployed to the server

Leetcode (Sword finger offer) - 35 Replication of complex linked list

Hands on deep learning (35) -- text preprocessing (NLP)

2022-2028 global small batch batch batch furnace industry research and trend analysis report

How can Huawei online match improve the success rate of player matching
随机推荐
Basic data types in golang
2022-2028 global industrial gasket plate heat exchanger industry research and trend analysis report
Pueue data migration from '0.4.0' to '0.5.0' versions
浅谈Multus CNI
Hands on deep learning (40) -- short and long term memory network (LSTM)
Hands on deep learning (36) -- language model and data set
华为联机对战如何提升玩家匹配成功几率
查看CSDN个人资源下载明细
2022-2028 global probiotics industry research and trend analysis report
C语言指针经典面试题——第一弹
2022-2028 global intelligent interactive tablet industry research and trend analysis report
pcl::fromROSMsg报警告Failed to find match for field ‘intensity‘.
Rules for using init in golang
Hands on deep learning (45) -- bundle search
C # use ffmpeg for audio transcoding
QTreeView+自定义Model实现示例
How does idea withdraw code from remote push
Golang Modules
What are the advantages of automation?
Pcl:: fromrosmsg alarm failed to find match for field 'intensity'