2014年11月17日

输出1到最大的N位数 【微软面试100题 第六十五题】

摘要: 题目要求: 输入数字n,按顺序输出从1到最大的n位10进制数。 例如,输入3,则输出1、2、3...、999(最大的3位数)。 参考资料:剑指offer第12题。题目分析: 如果我们在数字前面补0的话,就会发现n位所有十进制数其实就是n个从0到9的全排列。也就是说,我们把数字的每一位都从0到... 阅读全文

posted @ 2014-11-17 22:20 tractorman 阅读(318) 评论(0) 推荐(0) 编辑

寻找丑数 【微软面试100题 第六十四题】

摘要: 题目要求: 我们把只包含因子2、3和5的数称为丑数。例如6、8都是丑数,但是14不是,因为它包含因子7. 习惯上我们把1当作是第一个丑数。 求按从小到大的顺序的第1500个丑数。 参考资料:剑指offer34题。题目分析: 方法1 从1开始逐个遍历整数,每个整数如果包含2、3和5中的任何一... 阅读全文

posted @ 2014-11-17 22:00 tractorman 阅读(302) 评论(0) 推荐(0) 编辑

在字符串中删除特定的字符 【微软面试100题 第六十三题】

摘要: 题目要求: 输入两个字符串,从第一个字符串中删除第二个字符串中所有的字符。例如,输入"They are students."和"aeiou",则删除之后的第一个字符串变成了"Thy r stdnts.".题目分析: 1. 把第二个字符串的所有字符都存入一个set中; 2. 遍历第一个字符串的每... 阅读全文

posted @ 2014-11-17 13:05 tractorman 阅读(200) 评论(0) 推荐(0) 编辑

找出链表的第一个公共结点 【微软面试100题 第六十二题】

摘要: 题目要求: 两个无环单向链表,找出它们的第一个公共结点。 参考资料:剑指offer第37题。题目分析: 代码实现: #include using namespace std;typedef struct ListNode{ struct ListNode *next; int d... 阅读全文

posted @ 2014-11-17 11:04 tractorman 阅读(171) 评论(0) 推荐(0) 编辑

找出数组中两个只出现一次的数字 【微软面试100题 第六十一题】

摘要: 题目要求: 一个整型数组里除了两个数字机之外,其他的数字都出现了两次。 请写程序找出这两个只出现一次的数字。要求时间复杂度O(N).空间复杂度O(1). 参考资料:剑指offer第40题。题目分析: 已知: 1.两个相同的数字异或的结果为0,即a^a = 0. 2.两个不相同的数... 阅读全文

posted @ 2014-11-17 10:19 tractorman 阅读(215) 评论(0) 推荐(0) 编辑

导航

统计

点击右上角即可分享
微信分享提示