饿了么的一个电话面试算法题

11.17号,电话面试饿了么测试岗位
其中的一个算法题,当时没有想好思路哦。
例如两个版本号,怎么比较大小呢?
例如v1=‘1.1.2’
v2=‘1.1.2.1’

思路就是先转换成列表,然后判断分割后的长度大小哦,
在进行遍历比较就可以了哦!
电话面试的话,优点就是自己可以放松,没有面对面那么紧张的感觉了哦!但是可能通过率未必可以像现场那么好哦。
代码如下哦

比较两个版本的大大小

import re

def versionCompare(v1=“1.1.1”, v2=“1.2”):
v1_check = re.match("\d+(.\d+){0,2}", v1)
v2_check = re.match("\d+(.\d+){0,2}", v2)
if v1_check is None or v2_check is None or v1_check.group() != v1 or v2_check.group() != v2:
return “版本号格式不对,正确的应该是x.x.x,只能有3段”
v1_list = v1.split(".")
v2_list = v2.split(".")
v1_len = len(v1_list)
v2_len = len(v2_list)
if v1_len > v2_len:
for i in range(v1_len - v2_len):
v2_list.append(“0”)
elif v2_len > v1_len:
for i in range(v2_len - v1_len):
v1_list.append(“0”)
else:
pass
for i in range(len(v1_list)):
if int(v1_list[i]) > int(v2_list[i]):
return “v1大”
if int(v1_list[i]) < int(v2_list[i]):
return “v2大”
return “相等”
v1=‘1.21’
v2=‘19.1.1’
print(versionCompare(v1,v2))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金玉满堂@bj

朋友,你的打赏就是我创作的认可

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值