- 博客(5)
- 收藏
- 关注
原创 递归问题研究——汉诺塔(三)
相邻移动汉诺塔(hdoj-2064):现在我们改变游戏的玩法,不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到中间杆或从中间移出),也不允许大盘放到下盘的上面。现在有N个圆盘,至少多少次移动才能把这些圆盘从最左边移到最右边?这个题目和之前的汉诺塔问题相比最大的区别就是无法直接实现将圆盘直接从A柱移动至C柱,而是需要从A柱移动至B柱,再从B柱移动至C柱。那么我们需要重新考虑移动方式,我们...
2018-04-28 20:56:02 408
原创 递归问题研究——汉诺塔(二)
4柱汉诺塔问题(hdoj-1207):有四根杆(编号A、B、C、D),在A杆自下而上、由大到小按顺序放置N个金盘。游戏的目标:把A杆上的金盘全部移到D杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中四根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C、D任一杆上。在初看这道题目的时候,我们发现4柱汉诺塔问题和3柱汉诺塔问题基本相似。那么我们是否可以通过...
2018-04-27 21:57:14 392
原创 递归问题研究——汉诺塔(一)
首先,先来看一下最简单的汉诺塔问题:有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置N个金盘。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。当N=1时,移动步骤为A→C,记为。当N=2时,移动步骤为A→B,A→C,B→C,记为,即2片金盘通...
2018-04-25 10:37:21 274
原创 编程之法学习笔记——1.2字符串的包含
题目描述:给定一长字符串a和一短字符串b。请问,如何最快地判断出短字符串b中的所有字符是否都在长字符串a中?请编写函数bool StringContain(string &a,string &b)实现此功能。为简单起见,假设输入的字符串只包含大写英文字母。暴力轮询法:设A、B字符串长度分别为m、n,使用两个指针i、j标识A、B字符串中位置。对A中全部字符,搜索B中j位置的字符是否出...
2018-04-22 13:27:17 273
原创 编程之法学习笔记——1.1字符串的旋转
题目描述:给定一个字符串,要求将字符串前面的若干个字符移到字符串的尾部。例如,将字符串"abcdef"的前3个字符'a','b'和'c'移到字符串的尾部,那么原字符串将变成"defabc"。新建空间法:新建一个新的字符串,长度与原字符串长度相同为n,设移动字符数为x。将原字符串的0~(x-1)位的字符移动到新字符串的(n-x+1)~n位。原字符串中的x~n位的字符移动到新字符串的0~(n-x)位。...
2018-04-20 18:44:42 423
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人