注意负数,所以要使用long,而不能用int

详细解释 请参见http://www.cnblogs.com/julie-yang/p/5147460.html

  1. #include<vector>
  2. #include<queue>
  3. #include<map>
  4. #include<limits>
  5. #include<iostream>
  6. using namespace std;
  7. struct Node{
  8. long idx;
  9. long val;
  10. };
  11. struct cmp
  12. { bool operator()(const Node &a,const Node &b)
  13. {
  14. return a.val>b.val;
  15. }
  16. };
  17. class Solution {
  18. public:
  19. int nthUglyNumber(int n) {
  20. priority_queue<Node, vector<Node>, cmp> min_heap;
  21. vector<int> primes;
  22. primes.push_back();
  23. primes.push_back();
  24. primes.push_back();
  25. if (primes.size() == ) return ;
  26. map<long, int> start_idx;
  27. start_idx[] = ;
  28. int res = ;
  29.  
  30. Node temp_node;
  31. temp_node.idx = ; //idx is the first val of start_idx
  32. temp_node.val = primes[];
  33. min_heap.push(temp_node);
  34.  
  35. int cnt = ;
  36. if (n == ) return ;
  37. long min_val = INT_MAX;
  38.  
  39. long min_idx = ;
  40. while (cnt < n)
  41. {
  42. min_val = min_heap.top().val;
  43. min_idx = min_heap.top().idx;
  44. min_heap.pop();
  45. if ((res != (min_val)))
  46. {
  47. res = min_val;
  48. cnt++;
  49. start_idx[min_val] = ;
  50. temp_node.idx = min_val; //idx is the first val of start_idx
  51. temp_node.val = min_val * primes[];
  52. min_heap.push(temp_node);
  53.  
  54. }
  55. if (start_idx[min_idx] < primes.size() - )
  56. {
  57. start_idx[min_idx] ++;
  58. temp_node.idx = min_idx; //idx is the first val of start_idx
  59. temp_node.val = min_idx * primes[start_idx[min_idx]];
  60. min_heap.push(temp_node);
  61.  
  62. }
  63.  
  64. }
  65. return res;
  66. }
  67. };

Ugly Number II的更多相关文章

  1. 【LeetCode】264. Ugly Number II

    Ugly Number II Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose ...

  2. Ugly Number,Ugly Number II,Super Ugly Number

    一.Ugly Number Write a program to check whether a given number is an ugly number. Ugly numbers are po ...

  3. leetcode 263. Ugly Number 、264. Ugly Number II 、313. Super Ugly Number 、204. Count Primes

    263. Ugly Number 注意:1.小于等于0都不属于丑数 2.while循环的判断不是num >= 0, 而是能被2 .3.5整除,即能被整除才去除这些数 class Solution ...

  4. [leetcode] 264. Ugly Number II (medium)

    263. Ugly Number的子母题 题目要求输出从1开始数,第n个ugly number是什么并且输出. 一开始想着1遍历到n直接判断,超时了. class Solution { public: ...

  5. Leetcode之动态规划(DP)专题-264. 丑数 II(Ugly Number II)

    Leetcode之动态规划(DP)专题-264. 丑数 II(Ugly Number II) 编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例: 输入: n ...

  6. 【刷题-LeetCode】264. Ugly Number II

    Ugly Number II Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose ...

  7. leetcode@ [263/264] Ugly Numbers & Ugly Number II

    https://leetcode.com/problems/ugly-number/ Write a program to check whether a given number is an ugl ...

  8. [LeetCode] Ugly Number II 丑陋数之二

    Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime factors ...

  9. Leetcode 264. Ugly Number II

    Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime factors ...

  10. [LeetCode] Ugly Number II

    Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime factors ...

随机推荐

  1. [LintCode] Sort Integers II 整数排序之二

    Given an integer array, sort it in ascending order. Use quick sort, merge sort, heap sort or any O(n ...

  2. JSON与DataTable(DataSet)相互转化

    public static string CreateJsonParameters(DataTable dt)        {            /* /******************** ...

  3. MySql的join(连接)查询 (三表 left join 写法)

    1.内连接:将两个表中存在连结关系的字段符合连接条件的记录形成记录集 Select A.name,B.name from A inner join B on A.id=B.id和 Select A.n ...

  4. array_reduce方法用回调函数迭代地将对数组的值进行操作

    在处理php数组的时候,有一种需求特别的频繁,如下二维数组: $arr = array( 1=>array( 'id' => 5, 'name' => '张三' ), 2=>a ...

  5. Win8.1屏幕亮度自动调节关闭方法

    细心的朋友会发现,Win8.1系统的笔记本屏幕亮度有时候,会根据外界光线亮度以及温度自动调节屏幕亮度,尽管看似比较智能,但有时候我们并不希望笔记本屏幕亮度受光线影响,忽暗忽亮.如果我们希望Win8笔记 ...

  6. angularJs表单校验(超级详细!!!)

    html代码 <!DOCTYPE html> <html ng-app="angularFormCheckModule"> <head> < ...

  7. AJAX原理及XMLHttpRequest对象分析

    今天的主题是前端都了解的AJAX,但其中都有哪些知识点,还需要深入分析. 首先揭示AJAX的字面意思,Asynchronous Javascript And XML,通俗点就是“异步Javascrip ...

  8. Shell displays color output

    格式: echo "/033[字背景颜色;字体颜色m字符串/033[控制码" 如果单纯显示字体颜色可以固定控制码位0m. 格式: echo "/033[字背景颜色;字体颜 ...

  9. 【翻译】How To Tango With Django 1.5.4 第二章

    2.开始吧! 准备好两个关键的安装包 Python version 2.7.5 Django version 1.5.4 2.1熟悉你自己的系统(我的是windows) 略 2.2安装软件 2.2.1 ...

  10. Count Complete Tree Nodes || LeetCode1

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * s ...