
编程之美
文章平均质量分 73
jeiwt
这个作者很懒,什么都没留下…
展开
-
只考加法的面试题
编程之美 2.21我们知道:1+2=3; 4+5=9; 2+3+4=9;[question]等式左边都是两个以上连续的自然数相加,那么是不是所有的整数都可以写成这种形式呢?写一个程序,对于一个32位正整数,输出它所有的连续自然数之和的算式。1.思路:两数之和 K+K+1=2K+1三数之和 K+K+1+K+2 = 3K+1+2四原创 2010-01-20 10:58:00 · 1218 阅读 · 0 评论 -
求数组的连续子数组之和最大
<br />求子数组和最大,同时返回子数组的开始和结尾处。<br />如需要返回开始和结尾,只需额外添加两个下标标识即可。<br /> <br />#include <iostream>using namespace std;typedef struct Result{ int sum; int begin; int end;}Result;Result getMaxSubArraySum(int*array, int len){ Result result;原创 2010-10-14 15:18:00 · 862 阅读 · 0 评论 -
编程之美2.8 找符合条件的整数
题目:任意给定一个正整数N,求一个最小的正整数M(M>1),使得N*M的十进制表示形式里只含有1和0. 解决这个问题首先考虑对于任意的N,是否这样的M一定存在。可以证明,M是一定存在的,而且不唯一。简单证明:因为 这是一个无穷数列,但是数列中的每一项取值范围都在[0, N-1]之间。所以这个无穷数列中间必定存在循环节。即假设有s,t均是正整数,且s,所以 剪枝原创 2009-12-29 22:05:00 · 1372 阅读 · 0 评论 -
从无头单链表中删除节点
编程之美3.4 假设有一个没有头指针的单链表。一个指针指向此单链表中间的一个节点(非第一个节点, 也非最后一个节点)。请将该节点从单链表中删除。#include #include int array[] = {3,5,1,7,0};typedef struct Data{ int data; Data * next;} Data;Data *原创 2009-12-11 10:04:00 · 1669 阅读 · 0 评论 -
计算字符串的相似度
编程之美3.3看完题后,毫无头绪书上的解题思路很好,首先两个字符串的距离肯定是个可知数,必须小于两字符串之和。可以通过删除操作将两个串都变成空串。 书上所示的递归方法,代码敲出来了,有点点不同#include #include #include void calDistance(char *a, int aBegin, int aEnd, char * b,原创 2009-12-10 20:45:00 · 1620 阅读 · 0 评论 -
电话号码对应英语单词[算法]
编程之美3.2 一堆数组刚开始把我弄晕了,其实还是看代码看的不够多造成的#include #include #define TelLength 11char c[10][5] = { "", //0 "", //1 "ABC", //2 "DEF", //3 "GHI", //4原创 2009-12-09 18:50:00 · 1675 阅读 · 0 评论 -
买票找零
编程之美4.3 题目描述:假设有2N个人在排队买票,其中有N个人手持50元的钞票,另外有N个人手持100元的钞票,假设开始售票时,售票处没有零钱,问这2N个人有多少种排队方式,不至使售票处出现找不开钱的局面? 题目分析:这题时典型的卡特兰数(Cartalan)问题Cartalan数令h(1)=1h(n) = h(1)*h(n-1) + h(2)*h(n-2) +原创 2010-01-30 14:53:00 · 5895 阅读 · 2 评论 -
金刚坐飞机问题
问题来源《编程之美》4.1 问题2 问题描述: 现在有一班飞机要起飞了。乘客们准备按机票号码(1,2,3,...,N)依次登记,突然来了只大猩猩(对,他叫金刚),也有飞机票,但是他插队第一个登上了飞机。然后随意的选了一个座位坐下。 现在乘客们虽然感到愤怒,但还是以“和谐”为重,如果自己的位置没有被占领,就赶紧坐下,如果自己的位置被别人(或金刚同志)占了,就随机的选择另一个位置坐下,不再挪动位置。原创 2010-01-30 14:37:00 · 3240 阅读 · 0 评论 -
3.8求二叉树中节点的最大距离
来源于http://blog.youkuaiyun.com/bvbook/archive/2008/07/25/2710209.aspx #include #include using namespace std;struct Node{ bool _visited; Node* left; Node* right; in转载 2010-01-27 17:14:00 · 602 阅读 · 0 评论 -
3.9重建二叉树
扩展问题2如何判定给定的前序遍历和中序遍历的结果是合理的? 来源于http://blog.youkuaiyun.com/bvbook/archive/2008/07/25/2710382.aspx 递归算法实现,分别遍历左右子树,递归中迭代查找左右子树的长度,类似于书中的方法。#include #include using namespace std;bo转载 2010-01-27 17:28:00 · 766 阅读 · 0 评论 -
编程之美 4.2 瓷砖覆盖地板 扩展问题
原帖http://blog.youkuaiyun.com/limchiang/article/details/8619611题意:用 1 * 2 的瓷砖覆盖 n * m 的地板,问共有多少种覆盖方式? 思路:用2进制的01表示不放还是放,第i行只和i-1行有关,枚举i-1行的每个状态,推出由此状态能达到的i行状态:如果i-1行的出发状态某处未放,必然要在i行放一个竖的方块,所以我对转载 2014-08-09 19:08:04 · 2636 阅读 · 0 评论