python求解LeetCode习题Compare Version Numbers
题目
Compare two version numbers version1 and version1.
If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0.
You may assume that the version strings are non-empty and contain only digits and the .
character.
The .
character does not represent a decimal point and is used to separate number sequences.
For instance, 2.5
is not "two and a half" or "half way to version three", it is the fifth second-level revision of the second first-level revision.
Here is an example of version numbers ordering:
0.1 < 1.1 < 1.2 < 13.37
翻译:
比较两个给定的版本号的大小,前者大输出1,后者大输出0,无法比较输出0
思路:
题目中说道,版本号都是数值类型的字符串,且包含‘.’,这样可以按照‘.’来进行切割,得到每个版本号的列表,为了比较的方面,对于长度不足的列表进行补充0的操作,无实际意义,仅仅为了方便
好了,思想很简单,下面是具体实现:
#!usr/bin/env python
#encoding:utf-8'''
__Author__:沂水寒城
功能:Compare Version Numbers
'''def compare_version_num(version1, version2):'''比较版本号大小前者大输出1,后者大输出0,无法比较输出0'''version_list1=[int(one) for one in version1.split('.')]version_list2=[int(one) for one in version2.split('.')]# print version_list1# print version_list2len1=len(version_list1)len2=len(version_list2)big=max(len1, len2)small=min(len1,len2)value=big-smallif len1!=big:version_list1.extend([0]*value)elif len2!=big:version_list2.extend([0]*value)# print version_list1# print version_list2i=0while i<big:if version_list1[i]>version_list2[i]:print 1breakelif version_list1[i]<version_list2[i]:print -1breakelse:i+=1if __name__ == '__main__':compare_version_num('1.2','1.2.4')compare_version_num('1.1.3','1.0.4')compare_version_num('1.2','2.2.4')compare_version_num('1.2.3.0','1.2.4')
结果如下:
-1
1
-1
-1
[Finished in 0.3s]
python求解LeetCode习题Compare Version Numbers相关推荐
- LeetCode算法入门- Compare Version Numbers -day14
LeetCode算法入门- Compare Version Numbers -day14 题目描述: Compare two version numbers version1 and version2 ...
- LeetCode165- 比较版本号(Compare Version Numbers)
LeetCode165- 比较版本号(Compare Version Numbers) 最近全国疫情严重,待在家里没事干,马上又要准备春招了,最近刷刷题,记录一下!再说一句,武汉加油,大家出门记得戴口 ...
- LeetCode Compare Version Numbers(版本比较)
题意:给出两个版本号,比较这两个版本 思路:因为版本号是以.分割,所以分别将两个版本以.分割成字符串数组,再比较数字字符串 代码如下: public class Solution {public in ...
- leetcode 1365. How Many Numbers Are Smaller Than the Current Number(python)
描述 Given the array nums, for each nums[i] find out how many numbers in the array are smaller than it ...
- python求解迷宫问题,配js实现的走迷宫动画,动起来才有意思~
前言 继昨天手动实现了走迷宫问题,虽然是实现了,但是看到被我画成乱七八糟的草稿纸,总是觉得不爽,不仔细看,又得把自己给走迷糊了,于是自己使用js实现了一下,效果还不错!先看一下展示效果吧!(文末配有j ...
- python 物理学中的应用_利用python求解物理学中的双弹簧质能系统详解
前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...
- python快速编程入门课后简答题答案-编程python入门 编程python入门课后习题
编程python入门 编程python入门课后习题 米粒妈咪课堂小编整理了填空.选择.判断等一些课后习题答案,供大家参考学习. 第一章 一.填空题 Python是一种面向对象的高级语言. Python ...
- python刷leetcode_零基础python刷leetcode -- 3. Longest Substring Without Repeating Characters
算法很重要,但是每天也需要学学python,于是就想用python刷leetcode 的算法题,和我一起开始零基础python刷leetcode之旅吧.如有不对的地方,希望指正,万分感谢~~ 题目 最 ...
- python代码物理_利用python求解物理学中的双弹簧质能系统详解
前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...
- Python in worker has different version 3.7 than that in driver 3.6
环境: 组件 版本 Ubuntu 20.04 Spark 3.0.0-preview2-bin-hadoop3.2 完整报错如下 : Py4JJavaError: An error occurred ...
最新文章
- 并发编程基础篇——第一章(并发相关基础概念理解)
- 力扣--91. 解码方法
- Java Web学习总结-文件下载
- HDU4669_Mutiples on a circle
- python的数据结构包括那些_python算法与数据结构-什么是数据结构
- 重庆木叶村,每天被忍者迷骚扰500次
- 全网首发:JDK绘制文字:五、字体上下文产生流程
- 【2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) F】Rectangles【扫描线】
- C#中IntPtr打印输出
- 『动态规划』矩阵连乘
- erp系统实施方案会遇到哪些问题?
- ffmpeg/avconv
- bigDecimal学习笔记_隋小白
- 操作系统真实的虚拟内存是什么样的(一)
- 三维模型材质了解一下
- 各位观众老爷不如点进来随便评论几句QUQ
- MATLAB小波变换图像处理简单示例
- mysql master 重置_[数据库]重置mysql主从同步(MySQL Reset Master
- python爬虫难点_Python爬虫技巧
- 六区哈卡服务器无限公会,魔兽怀旧服:哈卡硬币被改,加声望不加经验,秒升62级是不可能了...