码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 算法-版本号升级


    背景

    今天看到了一个工具类AutoUpgradeVersionUtil,觉得很有意思,大体的作用是版本号的升级,类似于从0.0.1-> 0.0.2这样的。我一想,我之前刷算法的时候这样的案例遇到的多着呢,还有很多种的变种!

    • 数字+1
    • 大数的加法
    • 链表合并

    这两种场景是我觉得很熟悉的,本着不放过这个问题的原则,我开始了DIY实现一下。本篇文章中,shigen将展示Java代码和python代码的实现。

    问题拆解

    为了方便描述,shigen画了一个草图:

    类似于我们的+1运算,先将版本号的每一位提取出来,然后从最后一位+1,如果+1之后的数小于10,则保留,大于10,该位置1。说起来很简单,但是实践起来却是是有一点点的复杂,这里,shigen选取的是递归的思想。

    其实3-17行的递归是需要好好理解一下的,shigen在初次看到这个的时候也是一脸的懵,最后想了一下想明白了。

    最后预期的输出结果是:2.0.0。

    那Java的写法其实是有点复杂的,特别是去处理字符串的时候。python肯定要简洁一些,现在shigen采用python代码实现一下。

    其实比较起来,都差不多,提供两种编程语言的实现吧。

    好了,以上就是《算法-版本号升级》的全部内容了,觉得不错的话,记得点赞、在看、转发、关注哈,感谢您的支持。

    与shigen一起,每天不一样!

  • 相关阅读:
    23.亨元模式
    一起走过的那些日子-2022年七夕
    对MybatisPlus的Select和Update实现自定义Sql
    jenkins配置及实现接口自动化集成
    短视频剪辑:如何批量调整播放倍速,轻松掌控节奏?
    windows操作系统双网卡问题处理办法
    Python基础入门篇【3】--变量与关键字
    Golang 时间和日期函数汇总
    关于Flask高级_WTF自定义验证器的方法
    产品经理需要懂技术吗?
  • 原文地址:https://blog.csdn.net/weixin_55768452/article/details/133304586
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号