网易乐得 线下笔试 求第N个丑数 Java实现
来源:互联网 发布:mysql 日期时间函数 编辑:程序博客网 时间:2024/06/10 06:11
所谓丑数,就是只能够被2或3或5整除,我们习惯将1作为第一个丑数,求第n个丑数。
基本思想可查看剑指offer 第34题。
Java代码实现:
/** * @author fangzheng * @date 2016年9月25日 下午4:07:47 */public class UglyNumber {public static void main(String[] args) {System.out.println(getNUglyNumber(5));}public static int getNUglyNumber(int n) {int[] uglyNumbers = new int[n];uglyNumbers[0] = 1;int first = 0;int second = 0;int third = 0;int count = 1;while (count < n) {int M2 = uglyNumbers[first] * 2;int M3 = uglyNumbers[second] * 3;int M5 = uglyNumbers[third] * 5;int min = Math.min(Math.min(M2, M3), M5);uglyNumbers[count++] = min;while (uglyNumbers[first] * 2 <= min) {first++;}while (uglyNumbers[second] * 3 <= min) {second++;}while (uglyNumbers[third] * 5 <= min) {third++;}}return uglyNumbers[n - 1];}}
0 0
- 网易乐得 线下笔试 求第N个丑数 Java实现
- 网易乐得 线下笔试 求第N个丑数 Java实现
- 笔试题:求第n个丑数
- 20170910算法工程师在线笔试之求第n个丑数
- 网易实习生笔试试题 求第K大的数
- 求第n个丑数
- 求第n个丑数
- 网易笔试:下厨房
- 网易Java笔试题
- 网易2017招聘笔试题<下厨房>Java代码
- 求关于n的阶乘结果后面有几个零?如2016的阶乘(网易的笔试选择题)
- 剑指off-求第n个丑数
- C++求第N个丑数的值
- 达内课程-求第n个丑数
- 求1+2+...+n(Java实现)
- Java实现求 1+2+3+.....+n
- 求第n个斐波拉契数
- 网易笔试题 寻找第K大
- bzoj 2631 tree LCT+标记处理
- 百度地图中,要想获得比较精确坐标,小手应该怎么放?
- mysqldump备份还原和mysqldump导入导出语句大全详解
- char arr[32]数组不满,求里面非空值个数
- Spark机器学习管道--中文翻译
- 网易乐得 线下笔试 求第N个丑数 Java实现
- vc++ \\ \/路径转换
- DedeCMS V5.7全文检索sphinx安装使用教程
- STM8系列单片机命名规则
- 进程与线程的区别
- centos源码编译安装最新版git
- linux进入单用户模式修改root密码
- 高斯函数的详细分析
- centos下生成ssh公钥