面试题 49. 丑数 题目描述 题目:把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 设计一个算法,找出只含素因子2,3,5 的第 n 小的数.符合条件的数如:1, 2, 3, 4, 5, 6, 8, 9, 10, 12 ... 解答过程 样例 如果n = 9, 返回 10. 挑战 要求时间复杂度为O(nlogn)或者O(n) Java 实现 public clas…
问题描述 我们把只包含因子 2.3 和 5 的数称作丑数(Ugly Number).求按从小到大的顺序的第 n 个丑数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数. 说明:   1 是丑数. n 不超过1690. 代码 class Solution { public: int nthUglyNumber(int n) { vector<int> ind(3,0),uglynum(n,1); int tm…
题目: 把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 思路: 1.逐个判断 逐个判断每个整数是不是丑数.根据丑数的定义,丑数只能被2,3,5整除,也就是说,如果一个数能被2整除,连续除以2,如果能被3整除,连续除以3,如果能被5整除,连续除以5,如果最后得到1,那么这个数就是丑数,否则就不是. 2.创建数组保存已经找到的丑数 第一种方法效率比较低,因为该方法对每个…
题目: 把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 思路: 第一个丑数是1,此后保存3个下标:乘以2的数位置.乘以3的数位置.乘以5的数位置.每次比较由2.3.5衍生出来的丑数的大小,取最小的作为下一个丑数. 维护这3个下标:判断下一个丑数是由2.3还是5衍生的,那个数的下标位置前进1. 需要注意的是,下一个丑数可能是其中两个或三个数衍生的,比如在生成6时,2衍…
题目 输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径.从树的根节点开始往下一直到叶节点所经过的节点形成一条路径. 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1 返回: [ [5,4,11,2], [5,8,4,5] ] 提示: 节点总数 <= 10000 本题同[LeetCode]113. 路径总和 II 思路一:回溯 代码 class Solution { public: vect…
问题描述 输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径.从树的根节点开始往下一直到叶节点所经过的节点形成一条路径. 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1 返回: [ [5,4,11,2], [5,8,4,5] ]   提示: 节点总数 <= 10000 代码 注意加上return,找到一个路径就会退出,适宜于检查是否存在这样的路径. /** * Definition for…
剑指Offer学习 剑指Offer这本书已经学习完了.从中也学习到了不少的东西,如今做一个总的文件夹.供自已和大家一起參考.学如逆水行舟.不进则退.仅仅有不断地学习才干跟上时候.跟得上技术的潮流! 全部代码下载[https://github.com/Wang-Jun-Chao/coding-interviews] 文件夹 第01-10题 [剑指Offer学习][面试题02:实现Singleton 模式--七种实现方式] [剑指Offer学习][面试题03:二维数组中的查找] [剑指Offer学习…
剑指Offer学习 剑指Offer这本书已经学习完了,从中也学习到了不少的东西,现在做一个总的目录,供自已和大家一起参考,学如逆水行舟,不进则退.只有不断地学习才能跟上时候,跟得上技术的潮流! 所有代码下载[https://github.com/Wang-Jun-Chao/coding-interviews] 目录 第01-10题 [剑指Offer学习][面试题02:实现Singleton 模式——七种实现方式] [剑指Offer学习][面试题03:二维数组中的查找] [剑指Offer学习][面…
<剑指Offer>是很多程序员面试前要看的书,但里面的算法都是基于C++实现的,最近用了三周左右时间,用Python完成了里面几乎所有的算法题,由于时间以及个人水平均有限,或许会有部分问题没有发现,希望大家发现后能指出,在此感谢大家!也希望我写的东西能对大家有一点帮助.所有源代码请在这里获取. Python-Offer的主要特点简介如下: 所有题目按照书中章节排列,便于查询: 每个题目单独一个文件,文件可以直接运行,便于测试以及查看结果: 作为2的补充,对于二叉树和单链表这种类型的题目,文件中…
剑指Offer--滴滴笔试题+知识点总结 情景回顾 时间:2016.9.18 15:00-17:00 地点:山东省网络环境智能计算技术重点实验室 事件:滴滴笔试   总体来说,滴滴笔试内容体量不算多,主要分为19道选择题.1道多选题,2道编程题.1道简答题(也不简单). 选择题   考查知识点:二叉树某层中节点个数(2i-1).费波纳茨数列应用(上9级台阶的方法-分1步.2步).Linux下文件软.硬链接.还有各种计算题(10个人握手,每个人都握一遍,总共握了多少次?12个黑球,个白球,数到13…