面试
qqssss121dfd
practice,practice,practice,excellent .
展开
-
1000以内的正整数中的所有素数
以下内容和代码主要参考了这位兄台和这位兄台的。 素数又称为质数,它是在大于1的自然数中只能被1和其自己整除的数。 那么判断素数最简单的方法是看其是否只能被1和其自己整除的数,如果是则它是素数,否则不是。看如下源代码。bool isPrime(int n){ if (n < 2) { return false;原创 2020-08-20 15:35:55 · 2321 阅读 · 0 评论 -
C++ vector 容器的迭代删除操作
C++ vector 容器利用类似于数组的连续内存空间来存储其元素,当利用其eraseeraseerase函数删除相应的元素之后,该容器会重新分配所有剩下的元素,同时eraseeraseerase函数会返回指向已经删除的那些元素的下一个元素的迭代器,以前所有指向被删除元素以后的元素的迭代器会失效。如图1所示。 图1.int main(){ vector<int> myvector; for (int i = 1; i &l原创 2020-08-18 11:06:27 · 3963 阅读 · 0 评论 -
面试题:老鼠毒药问题
假设现在有15个一模一样的瓶子,其中有一个瓶子里面装有毒药,其它的瓶子里面装有水,毒药的颜色和水无法通过肉眼辨别。老鼠只要喝下任意量的毒药就会在24小时内死亡。现在的问题是如果要在24小时判断哪一个瓶子装的是有毒的毒药,最少需要多少只老鼠? 题解:我们首先对这15个瓶子依次编号为1−>151->151−>15并求其对应的二进制表示:1:0001000100012:0原创 2020-08-11 11:23:46 · 1640 阅读 · 0 评论 -
面试题:用5升和6升的容器取3升的水
一个池子里有无穷尽的水,需要用两个容器,一个5升,另一个6升,取3升的水。 题解:先将6升的容器装满水然后倒入5升的容器中,这样6升的容器中还剩一升水。将5升的容器中的水全部倒掉,然后将6升的容器中剩余的一升水倒入5升的容器中,这样5升容器中有一升水。再将6升的容器装满水然后倒入5升的容器中,这样6升的容器中还剩2升水。将5升的容器中的水全部倒掉,然后将6升的容器中剩余的2升水倒原创 2020-08-11 10:31:18 · 7737 阅读 · 0 评论 -
面试题:将字符串中的所有空格去掉,要求时间复杂度O(n),空间复杂度O(1)
原创 2020-08-11 10:14:23 · 790 阅读 · 0 评论 -
算法工程师面试智力题:分金条,发工资
题目:你让一个工人为你工作15天,回报是一根金条。但是你必须在每天结束的时候给他一根金条的十五分之一段。如果只允许你三次把金条弄断,你如何给这个工人付工资?**思路(参考):先将金条经过三次分段分为115115\frac{1}{15}段、215215\frac{2}{15}段、415415\frac{4}{15}段和815815\frac{8}{15}段。这是因为1、2、4和8中的一个数或几个...原创 2018-04-25 15:41:39 · 2436 阅读 · 0 评论 -
C++map容器迭代删除的相关问题
昨天电话面试碰到一道面试题,对于mapmapmap容器找到特定的value的元素并删除它,当第一次删除之后迭代器iteratoriteratoriterator可能会失效,如何让迭代可以继续下去。下面看具体的例子:int main(){ map<int, string> eraseTest; eraseTest[1] = "I"; eraseTest[3] = "love"; eraseTest[10] = "you";原创 2020-08-07 10:51:04 · 858 阅读 · 2 评论