码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 入门力扣自学笔记137 C++ (题目编号793)(未理解)


    793. 阶乘函数后 K 个零

    题目:

    f(x) 是 x! 末尾是 0 的数量。回想一下 x! = 1 * 2 * 3 * ... * x,且 0! = 1 。

    例如, f(3) = 0 ,因为 3! = 6 的末尾没有 0 ;而 f(11) = 2 ,因为 11!= 39916800 末端有 2 个 0 。
    给定 k,找出返回能满足 f(x) = k 的非负整数 x 的数量。


    示例 1:

    输入:k = 0
    输出:5
    解释:0!, 1!, 2!, 3!, 和 4! 均符合 k = 0 的条件。


    示例 2:

    输入:k = 5
    输出:0
    解释:没有匹配到这样的 x!,符合 k = 5 的条件。


    示例 3:

    输入: k = 3
    输出: 5


    提示:

    0 <= k <= 109

    来源:力扣(LeetCode)
    链接:https://leetcode.cn/problems/preimage-size-of-factorial-zeroes-function
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。


    思路:

    这道题利用了二分查找的方,但是有点复杂,偷了个懒没看,记得多去翻翻。


    代码:

    1. class Solution {
    2. public:
    3. int preimageSizeFZF(int K) {
    4. if(K == 0) return 5; // 如果不加入 这个case, 那么边界 == 0 输出正确结果完全是巧合
    5. long long left = (long long)K;
    6. long long right = 5 * (long long)K + 1;
    7. while(left < right){
    8. long long mid = left + (right - left) / 2;
    9. int rstK = help(mid);
    10. if(rstK == K) return 5;
    11. if(rstK < K) {left = mid + 1;} // 千万不能写成 left++, 否则时间复杂度就上升很多
    12. else{
    13. right = mid;
    14. }
    15. }
    16. return 0;
    17. }
    18. // 用以计算 K! 尾部 0 的个数
    19. int help(long long k){
    20. long long ans = 0;
    21. if(k < 5) return ans;
    22. while(k >= 5){
    23. ans += (k / 5);
    24. k /= 5;
    25. }
    26. return ans;
    27. }
    28. };

  • 相关阅读:
    从功能测试到自动化测试你都知道他们的有缺点吗?
    数据分析:利用gpt建立双11活动的分析框架
    Spring Boot集成Redis实现数据缓存
    Nginx 使用自签名证书实现 https 反代 Spring Boot 中碰到的页面跳转问题
    给女朋友开发个小程序低价点外卖吃还能赚钱
    Linux 内存管理
    c语言趣味关机(system函数)
    IDEA的日常快捷键大全
    java下载特定格式excel
    无TMP走Dev通道升级win11后续更新方法
  • 原文地址:https://blog.csdn.net/DK_Sorhic/article/details/126570479
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号