36、比较版本号、版本号排序 --- 字节

一、比较版本号

题目:

牛客项目发布项目版本时会有版本号,比如1.02.11,2.14.4等等

现在给你2个版本号version1和version2,请你比较他们的大小

版本号是由修订号组成,修订号与修订号之间由一个"."连接。1个修订号可能有多位数字组成,修订号可能包含前导0,且是合法的。例如,1.02.110.10.2都是合法的版本号

每个版本号至少包含1个修订号。

修订号从左到右编号,下标从0开始,最左边的修订号下标为0,下一个修订号下标为1,以此类推。

比较规则:

  1. 比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较忽略任何前导零后的整数值。比如"0.1"和"0.01"的版本号是相等的
  2. 如果版本号没有指定某个下标处的修订号,则该修订号视为0。例如,"1.1"的版本号小于"1.1.1"。因为"1.1"的版本号相当于"1.1.0",第3位修订号的下标为0,小于1;
  3. version1 > version2 返回1,如果 version1 < version2 返回-1,不然返回0。
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 比较版本号
 * @param version1 string字符串 
 * @param version2 string字符串 
 * @return int整型
 */
function compare( version1 ,  version2 ) {
    //先对字符串进行分隔
    const v1 = version1.split(".");
    const v2 = version2.split(".");
    const len = Math.max(v1.length,v2.length);
    //依次比较
    for(let i=0; i<len; i++){
        //将字符串转化为数字
        const n1 = Number(v1[i] || 0);
        const n2 = Number(v2[i] || 0);
        if(n1 > n2) return 1;
        if(n1 < n2) return -1;
    }
    return 0;
}

二、版本号排序

给定一个版本号数组['4.8', '1.7.1', '4.1.9', '5'] ,按照规则进行升序排序。

排序结果:["1.7.1", "4.1.9", "4.8", "5"]

注意:对于首位相同的版本号,进行第二位以及其余位的判断。

function arrSort(arr) {
		arr.sort((version1, version2) => {
			//先对字符串进行分隔
			const v1 = version1.split(".");
			const v2 = version2.split(".");
			const len = Math.max(v1.length, v2.length);
			//依次比较
			for (let i = 0; i < len; i++) {
				//将字符串转化为数字
				const n1 = Number(v1[i] || 0);
				const n2 = Number(v2[i] || 0);
				if (n1 > n2) return 1;
				if (n1 < n2) return -1;
			}
			return 0;
		})
	}

	const arr = ['4.8', '1.7.1', '4.1.9', '5'];
	arrSort(arr);
	console.log(arr); //["1.7.1", "4.1.9", "4.8", "5"]

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHPCMS 2008 SP2 正式版,本次提供的是GBK版本,如需要UTF8,请点这里:http://www.veryhuo.com/down/html/8389.html PHPCMS 2008 SP2 升级内容: 1、 修正了编辑文章上传图片重复生成图片文件的问题 2、 修正了同一IP 24小时允许的最大上传附件数,超过时,上传图片直接返回错误的路径,uploadfile/ 3、 修正了include/global.func.php thumb 函数问题 4、 修正了整合后,utf8 登陆乱码问题 5、 修正了内容页面分页第一页为空问题 6、 修正了专题多页分页时,导致500错误 7、 修正了在没有开启php缓存时,问吧首页无法缓存问题 8、 "FCKLang 未定义"错误的解决办法问题:属编码问题,在本机使用记事本打开fckeditor\editor\lang\zh-cn.js,不用修改任何内容,重新保存后上传服务器覆盖原文件即可解决。 9、 修正了栏目设置中在 是否添加水印设置无效 10、 修正了上传设置图片选项卡设置图片宽度无效问题 11、 修正了自定义表单 中上传条设置了后缀后,前台显示的还是所有的后缀都是可以的,实际上只有后台设置的后缀是可以上传的。 12、 修正了表单向导SQL报错问题 Parse error: syntax error, unexpected ';' 修改了模板文件/formguide/header.html {php $types = cache_read('search_type.php');} 13、 修正了表单向导在系统没有安装到根目录下时,前台上传文件打开地址路径错误 14、 修正了表单向导前台上传没有格式化上传大小字节数 15、 修正了后台界面框架调用问题 16、 修正了手动更新模板缓存后,等待页面操作成功后自动跳转返回的页面重复,显得很粗糙 17、 修正了自动提取关键词关闭后没有用,照样自动提取问题 18、 修正了表单向导,前台展示链接问题 19、 修正了表单向导,信息无法删除问题 20、 修正了专题暂停无效问题 21、 分类TYPE无法再不同模型下添加相同分类名称 22、 修正了黄页管理公司的问题 只显示前20个公司 23、 当关闭广告模块中的统计广告点击次数功能后,链接地址不正确: 24、 升级后凡是缩略图为连接的,相关地方就会出现 Warning: getimagesize 25、 JS跨站调用后,内容显示链接怎么不对 26、 评论页表情符号和换行问题 27、 碎片bug 权限 等问题 28、 修正了008sp1 整合UC 注册不能送积分 29、 修正了总编没有选择来源的权限 30、 修正了总编没有管理文章评论的权限 31、 修正了专题的动态设置无效的问题 32、 特定环境下验证码不出来问题 33、 广告模块添加flash广告后,修改是没有取值 34、 修正了修改产品信息的时候,同时更新产品的更新时间 35、 修正了分页子标题也解析关联链接 36、 修正了 MySQL Query : INSERT INTO `phpcms_keyword` (`tag`,`usetimes`,`lastusetime`) VALUES('启示','1','1243414371') MySQL Error : Duplicate entry '' for key 2 37、 修正了IE8 下面兼容问题 38、 php 最新版本下出现的问题 程序乱码显示 39、 修正了模块下面的header.tpl.php 头部文件标准需要统一 40、 修正了升级后,修改内容后,原升级地址被修改 41、 直接访问header.tpl.php 暴漏网站安装地址问题 42、 邮件发送在不同环境下,发送失败问题、 43、 修正了水印问题 44、 修正了 广告被屏蔽 把 ads 里面的 clickads.php点击里面带有 ads的问题 45、 修正了文章发表成功后,再修改文章将其选择为待审。提示操作成功。但未成功的问题 46、 修正了 member_cache 表和 member 数据条数不一致的时候,导致全站白屏问题 47、 修正了专题的动态设置无效 设置生成静态为“否”多时候 网站不能以动态模式浏览 48、 修正了专题分类和专题在重新设置模块的“是否生成html”后,需要手动的一个个修改专题,和分类才可以修复链接地址 49、 MySQL Query : UPDATE `phpcms2008_category` SET `pitems`=`pitems` 1 WHERE `catid` IN () MySQL Error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 MySQL Errno : 1064 Message : MySQL Query Error 在未修复栏目前,添加信息出错的问题。--已解决 50、 修正了specail 标签中未增加调用, disabled=0 51、 删除文件:admin/mymap.inc.php 52、 修正了管理组帐号被禁用后,仍然可以访问后台。 53、 商务中心的产品和商机管理等几个页面的"点击"量一直显示为"0" 产品,商机等内容页面的浏览量显示为:"0" 54、 修正了黄页企业页面的联系方式栏目有"传真"和"邮编",但是没有地方填加这两项信息. 55、 修正了添加栏目多的话,程序执行缓慢 56、 内容分页有问题.第一页显示不了; [page]***[/page] 插入这样的分页符,第一页看不到. 57、 更新全文所有无法更新不存在searchid 的文章索引 58、 修正了人才推荐标签的问题 59、 修正了产品排序的问题 60、 新增企业黄页栏目分级浏览 栏目太多问题 61、 新增CNZZ站长统计功能 62、 新增表单向导 统计功能 63、 增加了IE8 下 后台兼容问题
使用易语言 设计Python窗口组件 易友专属,毕竟易语言组件操作功能齐全也方便 可参考老版本介绍:https://bbs.125.la/forum.php?mod=viewthreadtid=14463987 2.191103 版本更新: 1.增加组件,组合框,超级列表框代码生成 2.增加功能,支持生成TTK组件代码(易语言内的windows通用组件库6.0版) 3.功能增加,增加新事件绑定 鼠标左键单击用法: 打开源码,在启动窗口直接设计窗口组件,已支持 标签,组合框,编辑框,按钮,单选框,多选框,超级列表框 组件的创建跟事件绑定及部分属性代码生成,需要其他属性的可以根据源码自行添加或评论留言。窗口设计完后按F5调试程序,窗口出现的时候代码也就自动生成好了,直接去Python里粘贴即可调试 Python模块EP.py 已封装200+常用命令 函数命名跟各种操作已尽量仿照精易模块 ,用起来还是熟悉的味道。 模块内已有函数(模块内需要安装的第三方库都已备注) 已有命令 返回返回调试输出到文本到整数到数值对象到文本到元组到列表到字典到字节字节数组序列_是否都为真序列_是否有真字节数组_清空字节数组_顺序反转取数据类型取数据长度集合文本_取出现次数文本_是否指定文本结尾文本_是否指定文本开头文本_TAB转空格文本_寻找文本文本_倒找文本文本_寻找文本index文本_倒找文本index文本_是否全十进制数字U文本_是否全数字字母文本_是否全数字文本_是否全数字U文本_是否全空格文本_是否标题化文本_是否全小写文本_是否全大写文本_是否全字母文本_标题化文本_首字母转大写文本_到小写文本_到大写文本_大小写字符到小写文本_大小写翻转文本_拼接文本_居中文本_左对齐文本_右对齐文本_右对齐0文本_删左边全部空格文本_删右边全部空格文本_删首尾指定字符文本_三元分割_左文本_三元分割_右文本_子文本替换文本_分割文本文本_换行分割文本_生成翻译表文本_转换字符文本_按键名转键值文本_键值转按键名文本_取出中间文本文本_取文本左边文本_取文本右边文本_取左边文本_取右边文本_取字符长度文本_取随机IP文本_取随机邮箱文本_取随机手机号文本_取随机字母文本_取随机数字文本_取随机字符文本_取随机姓氏文本_取随机汉字文本_取随机范围数字文本_到时间_datetime文本_取中间_批量文本_拼音转换数值_求次方数值_四舍五入数值_取绝对值数值_取上入整数数值_取下入整数数值_取最大数数值_取最小数字典_取值并删除字典_取指定键值字典_清空字典_拷贝字典_生成字典_转列表字典_取全部键字典_取全部值字典_取出并删除最后键值字典_取值添加列表_转字典列表_加入成员列表_插入成员列表_取出现次数列表_加入新列表列表_查找成员位置列表_取值并删除列表_删除指定值列表_倒序排列列表_大小排序时间_取指定格式时间时间_亚马逊操作时间时间_取启动时间时间_取现行时间time时间_取日期时间_取某年某月日历时间_取某年日历时间_是否为闰年时间_指定范围闰年总数时间_取某月天数时间_取某月一号星期几时间_取某天星期几时间_取现行时间datetime时间_取随机时间戳时间_格式化时间_文本转datetime时间时间_datetime时间转文本时间_增减datetime时间_取上月最后一天时间_取时间间隔时间_时间转时间戳时间_时间戳转时间时间_取现行时间戳队列_创建队列队列_加入成员队列_取出成员队列_取队列成员数队列_清空队列队列_是否为空队列_是否已满正则_匹配编码_编码编码_解码编码_UTF8编码编码_UTF8解码编码_GBK编码编码_GBK解码编码_URL编码编码_URL解码编码_ANSI到USC2编码_USC2到ANSI编码_BASE64编码编码_BASE64解码加密_MD5加密_SHA加密_SHA3加密_HmacSHA256加密_CRC32JS_调试JS_加载JS_运行GZIP_压缩GZIP_解压文件_取运行目录文件_更改当前工作目录文件_更改当前进程目录文件_遍历指定路径文件文件_遍历指定路径所有子目录文件_创建单层目录文件_创建多层目录文件_删除文件文件_删除文件2文件_删除单层空目录文件_删除多层空目录文件_获取访问修改时间文件_设置访问修改时间文件_重命名文件_修改权限文件_是否为绝对路径文件_是否为目录文件_是否为文件文件_是否存在文件_取文件大小文件_取最近访问时间文件_取创建时间文件_取修改时间文件_取文件目录文件_取路径文件名文件_文件扩展名分割文件_目录文件名分割文件_创建文件文件_检测权限文件_写入文件文件_读取文件文件_读取某行数据_排列数据_组合数据_排列组合进制_十到二进制_十到八进制_十到十六进制_二到十进制_八到十
《帝国下载系统》是为网站资料下载与在线影视网站提供的解决方案。功能强大,简单易用,全静态页面,完善的会员收费方案,全面满足免费与收费下载或影视网站需求。 帝国下载系统2.5开源版升级功能列表: 1、对系统进行全面的优化、调整,包括数据库与程序代码,代码基本重写。使系统运行效率更高更稳定。 2、新增下载字母导航,可以按头字母对下载内容进行检索。 3、新增专题功能,可以对下载进行自定义分类。 4、后台分类导航加载改进,页面加载速度更快,管理效率更高。 5、后台新增管理所有下载功能,更方便管理所有下载。 6、后台管理下载支持按“置顶”、“推荐”、“审核”及多种排序方式显示。管理下载更方便。 7、下载发布界面改进,更人性化,并且增加分类时可以选择“软件表单”或者“电影表单”模式。 8、下载与在线地址支持上传文件并自动填写文件扩展名及大小;支持直接上传与选择附件目录文件两种方式。 9、支持内容页文件名自定义。 10、新增下载地址前缀功能,同时支持"HEADER"、"META"、"READ"三种下载方式。 11、管理下载新增生成单下载及批量刷新选中下载功能。更方便生成指定的内容页。 12、管理下载新增生成“首页”、“父分类页”、“当前分类页”快捷功能,增加下载后只需点击提交即可发布到前台。 13、后台可设置是否开启后台登陆验证码。 14、后台可设置增加信息后直接生成分类页及专题页。更方便。 15、新增可设置是否检查软件名重复。 16、可设置默认录入下载地址数及在线地址数。 17、后台直接设置是否开启直接下载功能。(先前版本是修改配置文件) 18、可设置整站文件扩展名。 19、列表页存放目录、内容页存放目录自定义。并将目录转移到根目录,优化SEO。 20、每组生成列表数、内容页数、自定义页面数、批量替换下载数量设置。可以依服务器配置设置。 21、支持设置生成时间间隔。解决部分空间的资源限制问题。 22、后台界面改进,使用更加方便。 23、新增后台地图导航,可以更快捷的进入相应的管理操作。 24、验证码改进,增加图片增加干扰字符。防止机器识别图片字符。 25、安全性方面更强: (1)、管理员密码采用双重md5模式,防止密码泄漏被暴力破解; (2)、登录新增认证码功能,要同时满足密码跟认证码同时正确才能登录,此功能可防止非法用户知道密码也无法登录; (3)、COOKIE认证码验证,为身份认证再加一把锁。 (4)、COOKIE前缀自定义。 26、管理员登录次数、登陆IP及最后登陆时间记录。 27、增加用户设置管理分类支持选择父分类,选择父分类会应用于子分类权限。 28、新增前台购买充值类型管理:可设置充值有效期及点数。会员购买更点数、有效期非常方便,全自动充值。 29、新增在线支付功能: (1)、支付记录管理,方便与支付接口商记录对账。 (2)、网银支付接口配置。 30、参数设置可设置前台投稿开关。 31、前后台上传文件扩展名与文件大小设置。 32、前台投稿发布软件支持直接输入地址及上传附件两种方式。 33、后台可设置是否开启评论、评论验证码、评论字数限制以衣评论屏蔽字符设置。 34、生成广告JS文件前缀设置。防止浏览器屏蔽ad文件。 35、后台备份系统升级至帝国备份王2008最新版。备份效率更高更稳定。 36、新增总的分类导航变量及间隔符设置,原来版本是手动在模板修改。 37、新增“您的位置”间隔符设置。 38、数据更新中心改进,生成内容更完备。 39、新增管理所有评论功能、并支持按软件ID、评论内容、评论IP搜索。方便管理评论。 40、分类新增分类别名、分类缩略图、分类关键字、分类简介等属性。 41、分类列表生成增加显示最大数据设置。在大数据量情况下使用。 42、分类可设置开启投稿、投稿会员组及投稿获得点数。 43、管理分类新增终极分类与非终极分类转换功能。 44、管理软件类型改进,支持不同类型设置不同的模板及设置显示最大数。 45、电影模块改进,支持视频播放器管理,可任意增加/管理播放器。视频播放器可任意扩展。播放器默认新增Mediaplay、Realplayer、FLASH与FLV 46、新增强大的批量地址替换功能,支持按分类及附件SQL条件替换下载权限、点数、下载前缀、下载地址及下载名称替换。 47、管理附件新增数据式管理与目录式管理两种方式。 48、新增自定义列表功能。可以调用各种特殊条件的列表。 49、新增自定义页面。可以后台增加单页网页。 会员功能改进: 50、可设置会员是否需要审核 51、设置注册默认会员组及赠送点数。 52、注册用户名与密码字数限制设置 53、注册用户名保留字设置 54、会员邮箱唯一性检查设置 55、新增注册验证码跟登陆验证码。 56、支持禁用会员帐号 37、支持设置会员有效期到期后转向其他会员组。 58、会员资料新增详细资料填写。 59、点卡充值支持充值会员组与设定过期后转向的会员组。 60、新增批量增加点卡功能。 61、点卡支持点数跟有效期同时充值。 62、会员登陆与退出新增转向地址变量设置。设置ecmsfrom变量。 63、未登陆下载或观看需要权限的软件或视频,会转向登陆窗口,登陆后可返回下载与观看页面。更加人性化。 64、会员登陆默认转向会员控制面板。 65、会员控制面板首页界面改进,并且必须登陆后才能进入会员中心。更人性化。 66、新增DISCUZ与PHPWIND通行证接口。实现同步登陆与退出。 模板改进: 67、新增模板导入与导出功能。方便模板转移及共享。 68、新增模板变量,可以在页面共同内容的地方使用,只要修改变量内容就可以更改所有显示内容。 69、列表模板新增时间格式及软件名截取设置。 70、内容模板新增时间显示格式设置。 71、分类导航页面新增每行显示、背景颜色、单元格颜色设置。 72、新增搜索列表模板。 73、新增相关链接模板。 74、新增投票模板。 75、新增下载地址与在线地址模板。 76、新增下拉式列表分页模板。 77、新增框架登陆状态模板与JS登陆状态模板及调用方式。 78、新增最终下载页模板。可以直接在后台修改下载页面,直接加广告或显示软件信息。 79、模板标签调用改进: (1)、操作类型更新:支持"调用所有"、"分类调用"、"专题调用"、"软件类型调用"的最新、推荐、总下载、月下载、周下载、日下载调用类型。 (2)、文字标签、图片标签、广告标签、投票标签、友情链接标签对代码均进行改进,更优化。 (3)、数据统计标签改进:支持统计"总软件数"、"分类软件数"、"软件类型软件数"、"总下载数"。并支持设置统计时间范围。 (4)、模板调用新增“灵动标签”支持直接在模板中输写标签模板,且标签模板支持各种程序代码,更灵活。 80、模板统一的SEO变量,方便制作模板及SEO。 81、全新的默认模板,更清爽。 82、提示信息采用页面形式,更有亲和力。 83、支持动态显示总下载数、月下载数、周下载数、日下载数。 84、一键生成全站功能。 由于PHP本身对GBK宽字节特殊汉字处理存在问题,致使帝国系统受迁连。此问题目前已经影响到 帝国CMS 中的部分功能模块的使用,恶意用户可能通过部分功能对网站发起攻击。为此我们强烈建议您立即进行修补。 帝国CMS于2009-06-13 13:40修正了最新程序

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值