摘要:
原题 N个人围成一个圆圈,首先第一个人从1开始一个人一个人顺时针报数,报道第m个人,令其出列。然后再从下一个人开始,从1顺时针报数,报到第m个人,再令其出列,…如此下去,直到圈中只剩下一个人为止。此人即为优胜者。写一个函数求N个人中的胜者。 我的思路 可以使用一数组,来存放标记为1,2,3,…,N的N个人,每当有人出列,对应数组元素置为0,下次报数遇到置0的数组元素直接跳过。 实现代码 /****... 阅读全文
摘要:
原题 打印魔方阵,魔方阵是指这样的方针,每一行、每一列以及对角线的和相等。例如三阶魔方阵: 8 1 6 3 5 7 4 9 2 编程打印奇数阶魔方阵。 提示 问题解决的关键是元素的填充,第一个元素1的位置在第一行正中,新的位置应该处于最近插入元素的右上方;但如果右上方的位置超出方针上边界,则新的位置应该取列的最下一个位置;超出右边界则取行的最左的一个位置;若最近插入的元素为n的整数倍,则选下面一行... 阅读全文
摘要:
原题 自然数采用蛇形排列方式填充到数组中。将自然数1、2、3…、N*N逐个顺序插入方阵中适当的位置,这个过程沿斜列进行。将斜列编号为0、1、2…、2n(以i标记,n=N-1),如下面的数据排列,这个排列为蛇形排列。 1 3 4 10 2 5 9 11 6 8 12 15 7 13 14 16 我的思路 观察以下坐标: (0,0) 和为0 (1,0) (0,1) 和为1 (0,2) (1,1... 阅读全文
摘要:
原题 找出一个字符串中最长重复次数的子字符串,并计算其重复次数。例如:字符串“abc fghi bc kl abcd lkm abcdefg”,并返回“abcd”和2。 我的思路 为了方便表述,我们使用变量src作为原字符串,sub_str作为子字符串。 由于题目要求寻找至少重复2次的最长的子字符串,重点在于最长的子字符串,而不在于重复的最多次数。因此我们可以从长度最长的字符串入手,计算其重复次数... 阅读全文