摘要: 问题:n刀最多把pizza切成几块? 分析:其实还是递推思想,比如两刀可以切成4块,那么下一刀,也就是第三刀,肯定是要和前两刀的每一刀线都要相交,这样才能保证切成足够多的块数,这样一来,就会多出 4 个交点(包括与圆的边界的焦点),也就会多出 3 个小块,原因时是每相邻的两个点就会确定一个多出的小块 阅读全文
posted @ 2020-09-10 12:48 模糊计算士 阅读(876) 评论(0) 推荐(0) 编辑
摘要: 和三个柱子的最初的汉诺塔很类似,只是多了一个柱子,相当于缓存区大了一些,处理的速度自然快了一些。 粗略的C代码(并没有使先移动到第四根柱子上面的圆盘的数量是最优): #include <stdio.h> int count = 0; void hanoi (char s, char t1, char 阅读全文
posted @ 2020-09-10 12:45 模糊计算士 阅读(1529) 评论(0) 推荐(0) 编辑
摘要: 1、遇到的情景 int MaxSubsequenceSum(const int A[], int N) { int ThisSum, MaxSum, j; ThisSum = MaxSum = 0; for(j = 0; j < N; j++) { ThisSum += A[j]; if(ThisS 阅读全文
posted @ 2020-09-09 23:58 模糊计算士 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 简略说明:中间的小正方形的面积:\((b - a)^2\),而四个三角形的面积为$4\times\frac{1}{2}ab=2ab$,所以,\((b-a)^2 + 2ab = c^2\),即:\(a^2 + b^2 = c^2\) 阅读全文
posted @ 2020-09-09 17:25 模糊计算士 阅读(8971) 评论(0) 推荐(0) 编辑
摘要: 简略说明:右上角的那个正方形的对角线沿着这个正方形的左上角的边往下拉,看绿色的虚线,这样就构造了一个面积是该正方形的一半的三角形,然后绕着最大的正方形的右上角的顶点逆时针旋转90°,得到蓝边三角形,然后将这个三角形的左上角的顶点拉到它投射在下面的正方形的边上的点,这样,就构造了黄边的三角形,同样地, 阅读全文
posted @ 2020-09-09 16:44 模糊计算士 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 分析:假设我们在A柱子上有8个圆盘需要移动到C柱子上面,那么利用递归思想,我们只需要先将上面的7个圆盘移动到B柱子上,然后将最底下的圆盘移动到C柱子上,再将B柱子上的圆盘移动到C柱子上,此时,A盘已经空着了,就变成了辅助柱子。 具体代码: #include <stdio.h> void HanoiT 阅读全文
posted @ 2020-09-09 12:44 模糊计算士 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 题目地址:https://leetcode-cn.com/problems/hanota-lcci/submissions/ 题目描述: 分析:假设我们在A柱子上有8个圆盘需要移动到C柱子上面,那么利用递归思想,我们只需要先将上面的7个圆盘移动到B柱子上,然后将最底下的圆盘移动到C柱子上,再将B柱子 阅读全文
posted @ 2020-09-09 11:36 模糊计算士 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 结论:[-2147483648, 2147483647],也是:[-231, 231 - 1] 阅读全文
posted @ 2020-09-08 23:59 模糊计算士 阅读(988) 评论(0) 推荐(0) 编辑
摘要: unsigned int或unsigned只用于非负值的场合。这种类型与有符号类型表示的范围不同。例如,16位unsigned int允许的取值范围是0~65535(这里包括边界,下同),而不是-32768~32767(这个是16位的int的范围)。用于表示正负号的位现在用于表示另一个二进制位,所以 阅读全文
posted @ 2020-09-08 23:56 模糊计算士 阅读(1615) 评论(0) 推荐(0) 编辑
摘要: CharBuffer是java.nio包下的一个类,作用是可以操作字符缓冲区。 暂时只需要用到append(char)这个方法: 书中用到的地方: //: interfaces/RandomWords.java // Implementing an interface to conform to a 阅读全文
posted @ 2020-09-08 23:06 模糊计算士 阅读(1890) 评论(0) 推荐(0) 编辑