前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法-版本号升级

算法-版本号升级

原创
作者头像
shigen
发布2023-09-26 12:57:23
1900
发布2023-09-26 12:57:23
举报
文章被收录于专栏:shigen的学习笔记

背景

今天看到了一个工具类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一起,每天不一样!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 问题拆解
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档