摘要: 题目 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 代码: #include <iostream> using namespace std; //这种解法不用对n的位数进行移动 int numberOf1(int n) { int cnt = 0; unsigned int fl 阅读全文
posted @ 2017-03-16 10:39 木白的菜园 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 代码(c/c++): #include <iostrea 阅读全文
posted @ 2017-03-16 10:38 木白的菜园 阅读(1627) 评论(0) 推荐(0) 编辑
摘要: 来自《编程之美》3.3 题目:定义了三种不同的操作把不同的字符串变成相同 1.修改一个字符; 2.增加一个字符; 3.删除一个字符; 为了把两个字符串变得相同,每进行一次上述的某个操作,距离加1,最后定义两个字符串的相似度为“距离+1”的倒数。要求求出任意两个字符串的相似度。 解法: #includ 阅读全文
posted @ 2017-03-16 10:36 木白的菜园 阅读(533) 评论(0) 推荐(0) 编辑
摘要: (来自《编程之美》) 给定两个字符串s1和s2,要求判断s2是否能够被s1做循环移位(rotate)得到的字符串包含。 我的解法(想法比较复杂): 1 #include<iostream> 2 using namespace std; 3 bool isCover(string s1, string 阅读全文
posted @ 2017-03-16 10:13 木白的菜园 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 在面试或者数据结构相关的考试中,经常会被要求到的算法主要有插入排序、冒泡排序、归并排序和快速排序。对这几种算法,不但应该知道其原理或者过程,还应该对他们的各种特性了然于胸,从最好、最差、平均时间空间复杂度等方面对比其优劣。在面试中这几种排序算法也会经常作为手写代码能力的考量,所以应该要求自己对这几种 阅读全文
posted @ 2017-03-16 10:12 木白的菜园 阅读(202) 评论(0) 推荐(0) 编辑