483. Smallest Good Base

题目链接:https://leetcode.com/problems...

enumerate,但是不是结果,而是幂。方法特别巧妙,另外求幂的和还可以优化用快速幂来求。知道幂之后,根据逼近法,可以得到base:k = logm(n) = (long) (pow(n, 1/m)) = (long) (log(n) / log(m)),幂的最大值是min(log2(n), 64),当然这个是m>1的时候。注意求pow(base, m)不能直接用pow因为java里面double和long的转换过程中会丢失信息,所以要用乘来做。
参考这个博客:
http://bookshadow.com/weblog/...

public class Solution {public String smallestGoodBase(String n) {long num = Long.valueOf(n);for(int m = Math.min((int) (Math.pow(num, 0.5)), 64); m > 1; m--) {// k = logm(num)long k = (long) Math.pow(num, 1.0 / m);if(isGoodBase(num, k, m)) return String.valueOf(k);}return String.valueOf(num - 1);}private boolean isGoodBase(long num, long base, int m) {long sum = num;long val = 1;// calculate k^0, k^1,  ..., k^mfor(int i = 0; i <= m; i++) {sum -= val;val *= base;}return sum == 0;}
}

另外题目标签是binary search,应该是对k的取值可以用binary search来找。

483. Smallest Good Base相关推荐

  1. Leetcode 483. Smallest Good Base [Python]

    从上面的图可以看得到当a为1的时候,r就是这个题目要求的good base. 结合评论区大佬( https://leetcode.com/problems/smallest-good-base/dis ...

  2. [Swift]LeetCode483. 最小好进制 | Smallest Good Base

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  3. leetcode算法练习 JavaScript实现

    leetcode 表格内容由spider.js从leetcode-cn.com爬取. 已做题目答案也从leetcode-cn.com中爬取并生成文件. 解题进度:已解决 140/637 - 简单 94 ...

  4. LeetCode All in One 题目讲解汇总(持续更新中...)

    原文地址:https://www.cnblogs.com/grandyang/p/4606334.html 终于将LeetCode的大部分题刷完了,真是漫长的第一遍啊,估计很多题都忘的差不多了,这次开 ...

  5. Jetson 基本笔录

    文章目录 Roadmap 前言 Jetson Linux 部分文档 调试串口 Script apply_binaries 日志 进入Recovery模式 flash.sh 日志 官方固件烧录完后串口终 ...

  6. 毒霸07.11.19.18版本 新增加922个查杀病毒

    毒霸病毒信息库07.11.19.18版本新增可查杀病毒数922,其中:木马黑客蠕虫病毒数:731; 风险病毒数:170 其他病毒数:21. 1. JS.Exploitbd.tv 2. VBS.Expl ...

  7. SROP 64位-smallest(2017429ctf.ichunqiu)

    1 概述 360春秋杯"国际网络安全挑战赛 Challenge - smallest (pwn 300) - 429 ichunqiu ctf 2017 http://2017429ctf. ...

  8. Excel函数词典(483个函数说明 Excel函数公式Excel小技巧

    Excel函数词典(483个函数说明 Excel函数公式Excel小技巧 函数 类别 属性 新函数 说明 语法 BETADIST 兼容性函数 被替换 BETA.DIST 返回累积 beta 概率密度函 ...

  9. ValueError: invalid literal for int() with base 10: “ ”

    出现这个错误 :ValueError: invalid literal for int() with base 10: ''  " 或者: ValueError: invalid liter ...

  10. ValueError: invalid literal for int() with base 10

    在运行<机器学习实战>第二章中的代码样例时, 我遇到如下错误: 下面是网上参考文献[1]中的例子 Traceback (most recent call last):   File &qu ...

最新文章

  1. 让Hinton后悔投少了的AI公司:吴恩达弟子创办,李飞飞也是投资人
  2. js断点和调试学习总结3
  3. vs配置不依赖其他包路径
  4. 【转】使用ssh-copy-id 快速的配置免密登录
  5. schedule execution
  6. 28335的CPU定时器解析
  7. .Net Core实现区块链初探
  8. mysql 组复制 不一致_使用MySQL组复制的限制和局限性
  9. 为什么苹果不再需要谷歌地图?
  10. vue导入swiper_vue项目中导入swiper插件的方法
  11. English trip V2-B 1 What's on the Menu? 菜单上有什么? Teacher:Tom
  12. OSChina 周二乱弹 —— 这样成功要到小护士姐姐的微信
  13. 帝国CMS7.5二次元COS漫画分享漫展网站源码
  14. 计算机网络考研笔记(持续更新)
  15. fx3g485通讯模块_三菱FX3G型PLC采用RS485变频器作半双工
  16. 旋转式直流无刷Maxon电机与copley驱动器调试
  17. 关于DXP2004的安装
  18. MySQL-查询本周过生日的人-终极答案
  19. opencv保存视频文件很大
  20. 如何系统磁盘和raid卡的槽位对应起来

热门文章

  1. 筛选索引--filter indexs
  2. 【转】Struts2 验证问题:验证失败一次后就连续验证失败
  3. 实例6 函数的返回值
  4. leetCode----day01---- 从排序数组中删除重复项
  5. 【面试题14】调整数组顺序使奇数位于偶数前面
  6. Oracle的并发多版本 读一致性
  7. 2018年省赛热身赛第4场
  8. Ubuntu命令大全(转载)
  9. 短视频图像处理 OpenGL ES 实践
  10. 最大值、数据排序、九九乘法表、杨辉三角