
数据结构与算法 编程题
再听一遍就睡
这个作者很懒,什么都没留下…
展开
-
约瑟夫问题
当我们学习单向循环链表时,都会遇到类似约瑟夫环这种问题。它是对我们学习循环链表的另一种考察方式。我们来看看问题。简单概括一下:41个人围成一个环状,首尾相连。从第一个人开始报数,报到第三个人该人必须自杀。约瑟夫和他的朋友不想死,他们让自己在第16个和第31个位置,然后逃过了死亡。我们用画图的方式来看一下这个问题。我们让每个小圆代表一个人,因为41太多画不下,所以只画到第20个人。因...原创 2019-09-20 19:18:56 · 1004 阅读 · 1 评论 -
汉诺塔问题
汉诺塔问题其本质就是考察递归递归之前有说过,就是把一个大规模的问题分成很多个小问题,然后再把每个小问题的解整合起来返回。那让我们直接来看这个汉诺塔问题。原题:相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:...原创 2019-09-21 23:35:48 · 271 阅读 · 0 评论 -
动态数组编程题
1.力扣54 螺旋矩阵通过找规律我们可以发现,顺时针螺旋出来的顺序就是要从数字“1”开始走,向右走到“3”,然后向下走到“9”,再向左走到“7”,再向上走到“4”,再向右走到“5”。这样走一圈,就完成了顺时针螺旋顺序。我们再找规律,向右是横坐标不变,纵坐标+1。向下是纵坐标不变,横坐标+1。向左是横坐标不变 ,纵坐标-1。向上是纵坐标不变,横坐标-1。这样我们就分析出了所有变化坐标的规律。...原创 2019-09-30 00:59:55 · 391 阅读 · 0 评论