摘要:
问题1 按顺时针方向构建一个m * n的螺旋矩阵(或按顺时针方向螺旋访问一个m * n的矩阵):2 在不构造螺旋矩阵的情况下,给定坐标i、j值求其对应的值f(i, j)。比如对11 * 7矩阵, f(6, 0) = 27 f(6, 1) = 52f(6, 3) = 76 f(6, 4) = 63构建螺旋矩阵对m * n 矩阵,最先访问最外层的m * n的矩形上的元素,接着再访问里面一层的 (m - 2) * (n - 2) 矩形上的元素…… 最后可能会剩下一些元素,组成一个点或一条线(见图1)。对第i个矩形(i=0, 1, 2 …),4个顶点的坐标为:(i, i) -------------- 阅读全文
摘要:
《编程之美》读书笔记02: 1.3 一摞烙饼的排序问题: 星期五的晚上,一帮同事在希格玛大厦附近的“硬盘酒吧”多喝了几杯。程序员多喝了几杯之后谈什么呢?自然是算法问题。有个同事说:“我以前在餐馆打工,顾客经常点非常多的烙饼。店里的饼大小不一,我习惯在到达顾客饭桌前,把一摞饼按照大小次序摆好——小的在上面,大的在下面。由于我一只手托着盘子,... 阅读全文
摘要:
《编程之美》读书笔记01: 1.2中国象棋将帅问题 刚看到题时,首先想到的是除法计算除数的商和余数(eax和edx)。后来才想到C/C++中需要动态多维数组时,new一维数组来模拟多维数组时所进行的多维数组的下标和实际偏移量的转换,我想很多人学习C或C++时都做过这种事吧。 本以为题目要求输出将帅在棋盘上的具体位置,如d10、f1,但书中的解法给的是相对位置,解决起来更简单。解法一用了一堆令人讨... 阅读全文