当前位置:网站首页>Written interview topic: looking for the lost pig
Written interview topic: looking for the lost pig
2020-11-08 10:30:00 【Oc ccy4urvn】
Original published in :

Today's National Day , The Mid Autumn Festival, too , It's really rare . stay 21 Century's 100 During the year , have only 4 Year is like this . At home today , With family , Cook and eat , Do housework , Read some idle books , By the way, write something , I'll go out later , And then come back and run .
The campus autumn recruitment has begun in succession , I wish the students in school get their favorite offer, I also wish the students who are recruited by the society to change jobs smoothly .
today , Let's see A An interview question for the company :
Yes n Pigs , Take the car to the vegetable market , The pigs were pasted with 1~n The number of , All of a sudden , A pig jumped out of the car and ran away , Ask for the number of the pig that escaped .

The pig is still very poor , Slip away , We also need to track down the numbers . below , Let's look at algorithms .
Algorithm 1: Making difference method
Ideas :
Step1: To calculate the 1~n And a.
Step2: Find the sum of the numbers of the remaining pigs b.
Step3: a-b That's the number of the pig .
The disadvantage of this algorithm is : seek 1~n And , It might spill over .
Algorithm 2: Tagging
Ideas : Open up an array m, use m[i]=0 or 1 To record i Whether there is , For lost pigs j, There must be m[j]=0.
The disadvantage of this algorithm is : The space complexity is O(n)
Algorithm 3: Sequencing
Ideas : Sort the rest of the pigs , The pig that is running away j At the number of , There must be a break , So they know j The specific value of .
The disadvantage of this algorithm is : Let's take the example of fast track , Neither time complexity nor space complexity is optimal .
Algorithm 4: Exclusive or law ( The best algorithm )
Ideas :
Step1: To calculate the 1~n Exclusive or values a.
Step2: Find the exclusive or value of the number of the remaining pigs b.
Step3: seek a and b Exclusive or values , It's the number of the pig that escaped j.
The principle is as follows :
hypothesis n=5, The number of the lost pig is 3, So the number of the remaining pigs is 2, 4, 1, 5, Let's calculate :
j = 1^2^3^4^5^2^4^1^5
obviously , According to the exchange law of XOR , The above operations can be simplified , as follows :
j = 1^1^2^2^4^4^5^5^3 = 3
This gives you the number of the pig that's gone . here , The time complexity is O(n), The space complexity is O(1), This is the best algorithm . As for the procedure , It's simple , So I won't go back to .
In the previous post , We can actually see , XOR is a special kind of “ Addition and subtraction ”, therefore , Algorithm 1 Sum algorithm 4 It's a wonderful thing to do the same . About binary XORs , You can refer to :
The circuit principle of computer addition and proteus Simulation
版权声明
本文为[Oc ccy4urvn]所创,转载请带上原文链接,感谢
边栏推荐
猜你喜欢

vivoy73s和荣耀30青春版的区别

狗狗也能操作无人机!你没看错,不过这其实是架自动驾驶无人机 - 知乎

Mate 40系列发布 搭载华为运动健康服务带来健康数字生活
![[computer network] learning notes, Part 3: data link layer (Xie Xiren version)](/img/b0/b236a52e38f1cd3eff25a398dac7aa.jpg)
[computer network] learning notes, Part 3: data link layer (Xie Xiren version)

个人目前技术栈

2 days, using 4 hours after work to develop a test tool

Is software testing training class easy to find a job

python_ scrapy_ Fang Tianxia

Improvement of rate limit for laravel8 update

计算机网络基本概念(五)局域网基本原理
随机推荐
Architect (November 2020)
Face recognition: attack types and anti spoofing techniques
print( 'Hello,NumPy!' )
python学习 day1——基础学习
VC + + specified directory file output by time
解析Istio访问控制
laravel8更新之速率限制改进
It's 20% faster than python. Are you excited?
Flink的sink实战之一:初探
Bohai bank million level fines continue: Li Volta said that the governance is perfect, the growth rate is declining
Python Gadgets: code conversion
Adobe Lightroom /Lr 2021软件安装包(附安装教程)
vivoS7e和vivoS7的区别 哪个更值得入手
Personal current technology stack
维图PDMS切图软件
Japan PSE certification
Which is more worth starting with the difference between vivos7e and vivos7
Python loop distinction (while loop and for loop)
Adobe Prelude /Pl 2020软件安装包(附安装教程)
糟糕,系统又被攻击了