当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- 一个方案提升Flutter内存利用率
- We interviewed the product manager of SQL server of Alibaba cloud database, and he said that it is enough to understand these four problems
- 虚拟机中安装 macOS 11 big sur
- 211 postgraduate entrance examination failed, stay up for two months, get the byte offer! [face to face sharing]
- 软件测试就是这么回事?!
- Px4 adds new applications
- Python3.9的7个特性
- M-end software product design considerations - Zhihu
- 【计算机网络】学习笔记,第三篇:数据链路层(谢希仁版)
- shiyou的数值分析作业
猜你喜欢

2020-11-05

Automatically generate RSS feeds for docsify

vivoY73s和vivoY70s的区别 vivoY73s和vivoY70s哪个值得入手

函数周期表丨筛选丨值丨SELECTEDVALUE - 知乎

“1024”征文活动结果新鲜出炉!快来看看是否榜上有名?~~

Basic concepts of computer network (5) basic principles of local area network

Improvement of rate limit for laravel8 update

蓝牙2.4G产品日本MIC认证的测试要求

ASP.NET A complete solution based on exception handling in MVC

Analysis of ArrayList source code
随机推荐
YGC troubleshooting, let me rise again!
解决RabbitMQ消息丢失与重复消费问题
PDMS cutting software
Analysis of ArrayList source code
More than 50 object detection datasets from different industries
M-end software product design considerations - Zhihu
Spotify是如何推动数据驱动决策的?
游戏优化性能杂谈(十一) - 知乎
python 循环区分(while循环和for循环)
C++在C的基础上改进了哪些细节
Iqkeyboardmanager source code to see
Application of bidirectional LSTM in outlier detection of time series
Flink's sink: a preliminary study
Is software testing training class easy to find a job
413【毕设课设】基于51单片机无线zigbee无线智能家居光照温湿度传输监测系统
比Python快20%,就问你兴不兴奋?
Bohai bank million level fines continue: Li Volta said that the governance is perfect, the growth rate is declining
来自不同行业领域的50多个对象检测数据集
推荐一部经济科普视频,很有价值!
年轻一代 winner 的程序人生,改变世界的起点藏在身边