糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 有趣的算法题目集锦

有趣的算法题目集锦

时间:2019-01-11 02:54:29

相关推荐

有趣的算法题目集锦

————来自于 https://mp./s/aq7yEML5Kwt0vl-5uGTARw

1、

农夫需要把狼、羊、菜和自己运到河对岸去,只有农夫能够划船,而且船比较小,除农夫之外每次只能运一种东西,还有一个棘手问题,就是如果没有农夫看着,羊会偷吃菜,狼会吃羊。

请考虑一种方法,让农夫能够安全地安排这些东西和他自己过河。

2、

请你把10根放在篮子里的香蕉分给10只猴子,每只猴要得到一根,最后篮子里还要留下一根香蕉,你能做到吗?

3、

你让一个工人为你工作七天,用一根金条作为报酬。金条被分成7小块,可以每天支付一块。

但是,如果你只能将金条切割两次,那么你如何切割金条,能满足每天支付一块给工人呢?

4、

你有不限量的水,还有两个水桶,容积分别是5升和3升。如何精确地称量出4升水?

5、

现在有三个容积分别是3升、5升和8升的水桶,其中容积为8升的水桶中装满了水,容积为3升和容积为5升的水桶是空的。

三个水桶都没有体积刻度,现在需要将大水桶中的8升水等分成两份,每份都是4升水,(附加条件是只能使用另外两个空水桶)

6、

现在有两种砖,分别是11的砖和12的砖,用这两种砖铺 1*N 的地面。

问共有多少种铺法?(输入为N,请输出相应的铺法数,经典铺砖问题)

7、

12个高矮不同的人,排成两排,每排必须是从矮到高排列,且第二排比第一排对应的人高。

求排列方式有多少种?

8、

从一副扑克中随机抽取5张牌,判断是不是顺子(5张牌数字连续,大小王为任意数字)。

9、

输入两个整数 n 和 m,从数列 1,2,3……n 中随机取几个数,使其和等于m,要求将其中所有的可能组合列出来。

10、

输入一个正整数 n,输出所有和为 n 的连续正整数序列。

11、(爱因斯坦思考题)

据说有五个不同颜色的房间排成一排,每个房间里分别住着一个不同国籍的人,每个人都喝一种特定品牌的饮料,抽一种特定品牌的烟,养一种宠物,没有任意两个人抽相同品牌的香烟,或喝相同品牌的饮料,或养相同的宠物。

问题是谁在养鱼作为宠物?为了寻找答案,爱因斯坦给出了以下15条线索。

英国人住在红色的房子里;瑞典人养狗作为宠物;丹麦人喝茶;绿房子紧挨着白房子,在白房子的左边;绿房子的主人喝咖啡;抽 Pall Mall 牌香烟的人养鸟;黄色房子里的人抽 Dunhill 牌香烟;住在中间那个房子里的人喝牛奶;挪威人住在第一个房子里面;抽 Blends 牌香烟的人和养猫的人相邻;养马的人和抽 Dunhill 牌香烟的人相邻;抽 BlueMaster 牌香烟的人喝啤酒;德国人抽 Prince 牌香烟;挪威人和住在蓝房子的人相邻;抽 Blends 牌香烟的人和喝矿泉水的人相邻。

————来自于个人搜集、《编程之美》等等

1、字符串中的最长回文子串

2、数组A中相邻两个数的差的绝对值为1,如{1,2,3,4,3,2,3,4,5,4,5,6,7},给定某一个数字t,求其在数组中的位置

3、给定数组A={a0,a1,a2,…,an}(n可变),请输出所有的组合。

4、给出一个数组,返回数组中满足类似a > b < c >d这种情况的连续子数组的最大长度,时间复杂度是O(n)

5、给定一颗二叉树,节点的值表示money,一个强盗想要偷钱,但有一个规则,如果一个节点被偷了,那么与他相邻的节点则会报警(即不能偷),最终返回这个强盗最多能够盗取的money

6、输入一个多位数(一串数字)和限制的次数(一个整数),只允许相邻两个数字交换位置,要求在限制交换次数内,得到最大的新多位数并输出

7、数轴上从左到右有n个点a[0],a[1]…,a[n-1],给定一根长度为L的绳子,求绳子最多能覆盖其中的几个点,要求算法复杂度为o(n)

8、25匹马,每次比赛5匹,问比赛多少次能够决出前3名

9、给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。

例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}

10、

如果觉得《有趣的算法题目集锦》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。