BM22 比较版本号
一.双指针遍历截取
import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 比较版本号* @param version1 string字符串 * @param version2 string字符串 * @return int整型*/public int compare (String version1, String version2) {// write code here/*** 第二个大,返回-1,* 第一个大,返回1*/if (version1 == null) return -1;if (version2 == null) return 1;//记录两个字符串的大小int n1 = version1.length();int n2 = version2.length();//定义双指针遍历字符串int i = 0,j = 0;while (i < n1 || j < n2) {//用long防止溢出long num1 = 0;//把多余的0减掉while (i < n1 && version1.charAt(i) != '.') {num1 = num1 * 10 + (version1.charAt(i) - '0');i++;}//跳过字符‘.’i++;//用long防止溢出long num2 = 0;//把多余的0减掉while (j < n2 && version2.charAt(j) != '.') {num2 = num2 * 10 + (version2.charAt(j) - '0');j++;}//跳过字符‘.’j++;//判断谁大if (num1 > num2) return 1;if (num1 < num2) return -1;}return 0;}
}
二.分割截取
import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 比较版本号* @param version1 string字符串 * @param version2 string字符串 * @return int整型*/public int compare (String version1, String version2) {// write code hereif (version1 == null) return -1;if (version2 == null) return 1;/*** 以点为分割符*/String[] s1 = version1.split("\\.");String[] s2 = version2.split("\\.");//遍历字符串数组for (int i = 0; i < s1.length || i < s2.length; i++) {//小的版本号后末尾全部补0String str1 = i < s1.length ? s1[i]:"0";String str2 = i < s2.length ? s2[i]:"0";//用long防止溢出long num1 = 0;for (int j = 0; j < str1.length(); j++) {num1 = num1 * 10 + (str1.charAt(j) - '0');}long num2 = 0;for (int j = 0; j < str2.length(); j++) {num2 = num2 * 10 + (str2.charAt(j) - '0');}if (num1 > num2) return 1;if (num1 < num2) return -1;}return 0;}
}
相关文章:
BM22 比较版本号
一.双指针遍历截取 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 比较版本号* param version1 string字符串 * param version2 string字符串 * return int整型*/public …...
【Java】Maven配置文件帮助文档(settings.xml 和 pom.xml)
文章目录 1. settings.xml1.1 localRepository1.2 interactiveMode1.3 offline1.4 pluginGroups1.5 proxies1.6 servers1.7 mirrors1.8 profiles1.9 activeProfiles 2. pom.xml2.1 本项目信息2.2 父项目信息2.3 prerequisites2.4 issueManagement2.5 ciManagement2.6 inception…...
人脸识别技术应用安全管理规定(试行)
近年来,人脸识别技术不断成熟,已大量应用于治安管理、金融支付、门禁考勤等诸多领域,极大便捷了公众生活。然而,人脸识别技术在得到广泛应用的同时,仍存在一些不规范现象。人脸识别因其技术特点,涉及公众敏…...
FPGA应用学习-----FIFO双口ram解决时钟域+asic样机的时钟选通
60m写入异步ram,再用100M从ram中读出 写地址转换为格雷码后,打两拍和读地址判断是否空产生。相反读地址来判断是否满产生。 分割同步模块 asic时钟的门控时钟,fpga是不推荐采用门控时钟的,有很多方法移除fpga的时钟选通。 如果是a…...
zabbix案例--zabbix监控Tomcat
目录 一、 部署tomcat 二、配置zabbix-java-gateway 三、配置zabbix-server 四、配置zabbix-web界面 一、 部署tomcat tar xf apache-tomcat-8.5.16.tar.gz -C /usr/local/ ln -sv /usr/local/apache-tomcat-8.5.16/ /usr/local/tomcat cd /usr/local/tomcat/bin开启JMX…...
Electron 应用实现截图并编辑功能
Electron 应用实现截图并编辑功能 Electron 应用如何实现截屏功能,有两种思路,作为一个框架是否可以通过框架实现截屏,另一种就是 javaScript 结合 html 中画布功能实现截屏。 在初步思考之后,本文优先探索使用 Electron 实现截屏…...
前端= 结构(HTML)+ 样式(CSS)+ 行为(JavaScript)
前端开发确实涵盖了行为(JavaScript)、样式(CSS)和结构(HTML)这三个主要方面。这三个方面在前端开发中密切协作,共同构建用户界面和用户体验。 结构(Structure)ÿ…...
Flink-网络流控及反压剖析
参考: Apache Flink学习网...
redis 和 mongodb 比较
Redis和MongoDB是两种不同类型的数据库,它们在数据存储和查询方式、数据模型以及适用场景等方面有一些明显的区别。下面是Redis和MongoDB之间的一些比较: 数据模型: Redis:Redis是一个键值存储系统,支持多种数据结构如…...
Linux 主函数参数介绍
主函数如下: int main( int argc, char* argv[], char* envp[]) 参数分析如下: (1) argc 参数个数 (2) argv 参数内容,是char*类型,说明传给主函数的内容是一个一个的字符串。 (3) envp 环境变量,传给主函数的也…...
资料分析(三)—— 基期、现期、人口、增长量
基期 基期值 现期值 - 增长量 增长量/增长率 现期值/1(间隔)增长率 化除为乘 :当增长率|r| < 5% 时,, 注:当选项首位相同,第二位也相同时,只能用直除 基期和差 (结合选…...
Java 正则表达式【匹配与分组基本原理】
简介 我们一般使用正则表达式是用来处理字符串的,不管是实际的开发中还是我们的算法竞赛中,使用正则表达式绝对可以大大提升我们的效率。 正则表达式(regular expression)其实就是对字符串进行模式匹配的技术。 快速入门 我们这里…...
ThreadLocal源码解析
使用ThreadLocal可以为每个线程维护一个线程变量,使用场景为线程间隔离,线程内方法共享; 原理: Thread类中有一个实例属性ThreadLocalMap,ThreadLocalMap中存放的是Entry数组,Entry数组是ThreadLocal和Ob…...
RocketMQ 5.1.0 源码详解 | Producer 发送流程
文章目录 初始化DefaultMQProducer实例发送流程DefaultMQProducer#sendDefaultMQProducerImpl#sendMQClientInstance#updateTopicRouteInfoFromNameServer使用特定 topic 获取路由信息使用默认 topic 获取路由信息 DefaultMQProducerImpl#sendDefaultImpl发送流程总结 初始化De…...
电脑ip地址怎么改 ip地址怎么改到别的城市
一、ip地址怎么改到别的城市 1.ip地址怎么改到别的城市,1、重启WIFI路由设备 一般手机或电脑在家或公司上网时都是接入到路由器的WIFI网络,再由路由器分配上网IP地址,如果要更换上网IP那么重启路由器设备后,路由器会向网络运营商进行宽带的重新拨号,此时手机或电脑设…...
Android Studio实现列表展示图片
效果: MainActivity 类 package com.example.tabulation;import android.content.Intent; import android.os.Bundle; import android.view.View;import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; im…...
每天一道leetcode:300. 最长递增子序列(动态规划中等)
今日份题目: 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] …...
【无监督】2、MAE | 自监督模型提取的图像特征也很能打!(CVPR2022 Oral)
文章目录 一、背景二、方法三、效果 论文:Masked Autoencoders Are Scalable Vision Learners 代码:https://github.com/facebookresearch/mae 出处:CVPR2022 Oral | 何凯明 | FAIR 一、背景 本文的标题突出了两个词: masked…...
pytorch单机多卡后台运行
nohup sh ./train_chat.sh > train_chat20230814.log 2>1&参考资料 Pytorch单机多卡后台运行的解决办法...
linux配置上网 linux adsl拨号上网设置
Linux里面配置ADSL上网是件很麻烦的事。但配置完成之后就能开机自动拨号上网,可谓十分的方便。支持的系统有Redhat,CentOS,SuSE,FreeBSD,Ubuntu等常见的Linux。 工具/原料 ADSL网络,电信,网通,移动等常见宽带。 Linux系统的安装光…...
NASA Earthdata保姆级教程:手把手教你用矩形框批量下载MODIS和VIIRS遥感数据
NASA Earthdata零基础实战:从注册到批量下载MODIS/VIIRS遥感数据的完整指南 第一次接触NASA Earthdata网站时,面对满屏的专业术语和复杂操作界面,大多数科研新手都会感到手足无措。作为全球最大的对地观测数据平台之一,Earthdata…...
3步掌控微信数据主权:从聊天记录备份到社交价值挖掘的完整指南
3步掌控微信数据主权:从聊天记录备份到社交价值挖掘的完整指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/…...
Gerrit与GitLab单向同步实战:配置详解与常见问题排查
1. 为什么需要Gerrit与GitLab单向同步? 在代码管理的工作流中,Gerrit和GitLab各自扮演着不同角色。Gerrit以强大的代码审核机制著称,而GitLab则更擅长作为Git仓库托管平台。很多团队既想保留GitLab现有的CI/CD流程,又希望引入Gerr…...
IDR:交互式Delphi重构工具 - 从二进制迷雾到代码清晰的逆向工程解决方案
IDR:交互式Delphi重构工具 - 从二进制迷雾到代码清晰的逆向工程解决方案 【免费下载链接】IDR Interactive Delphi Reconstructor 项目地址: https://gitcode.com/gh_mirrors/id/IDR 揭开逆向工程的神秘面纱:Delphi程序分析的痛点与破局 在软件维…...
Ventoy RAID启动解决方案:突破存储阵列引导瓶颈的实战指南
Ventoy RAID启动解决方案:突破存储阵列引导瓶颈的实战指南 【免费下载链接】Ventoy A new bootable USB solution. 项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy 在服务器部署和高端PC应用中,从RAID阵列→磁盘冗余存储技术启动系统往…...
Linux内核中的进程调度高级话题
Linux内核中的进程调度高级话题 引言 进程调度是Linux内核中负责分配CPU时间的核心子系统,它决定了系统中各个进程的执行顺序和时间分配。随着系统复杂性的增加和硬件技术的发展,进程调度面临着越来越多的挑战。本文将深入探讨Linux内核中进程调度的高级…...
避开这5个坑!用MCSM面板部署我的世界服务器时90%人会犯的错误
避开这5个坑!用MCSM面板部署我的世界服务器时90%人会犯的错误 搭建《我的世界》服务器本应是充满乐趣的体验,但很多玩家在使用MCSM面板时却频频踩坑。我曾帮助超过200位用户成功部署服务器,发现90%的问题都集中在几个关键环节。本文将揭示这些…...
G-Helper华硕笔记本优化指南:告别臃肿控制软件,3步打造高效设备
G-Helper华硕笔记本优化指南:告别臃肿控制软件,3步打造高效设备 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, …...
避坑指南:在Python 3.7环境用ModelScope跑speech_campplus_sv声纹模型,小心这个隐藏Bug
深度解析Python 3.7环境运行ModelScope声纹模型的隐藏陷阱 当你在Python 3.7环境中满怀期待地运行达摩院的speech_campplus_sv声纹识别模型时,突然遭遇AttributeError: SpeakerVerificationPipeline object has no attribute model_cfg这样的错误提示,确…...
PixEz-flutter网络优化实战:3个技巧打造流畅的二次元内容体验
PixEz-flutter网络优化实战:3个技巧打造流畅的二次元内容体验 【免费下载链接】pixez-flutter 一个支持免代理直连及查看动图的第三方Pixiv flutter客户端 项目地址: https://gitcode.com/gh_mirrors/pi/pixez-flutter 作为一款支持免代理直连的第三方Pixiv客…...
