bm22 bm23 bm1
描述
牛客项目发布项目版本时会有版本号,比如1.02.11,2.14.4等等
现在给你2个版本号version1和version2,请你比较他们的大小
版本号是由修订号组成,修订号与修订号之间由一个"."连接。1个修订号可能有多位数字组成,修订号可能包含前导0,且是合法的。例如,1.02.11,0.1,0.2都是合法的版本号
每个版本号至少包含1个修订号。
修订号从左到右编号,下标从0开始,最左边的修订号下标为0,下一个修订号下标为1,以此类推。
比较规则:
一. 比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较忽略任何前导零后的整数值。比如"0.1"和"0.01"的版本号是相等的
二. 如果版本号没有指定某个下标处的修订号,则该修订号视为0。例如,“1.1"的版本号小于"1.1.1”。因为"1.1"的版本号相当于"1.1.0",第3位修订号的下标为0,小于1
三. version1 > version2 返回1,如果 version1 < version2 返回-1,不然返回0.
数据范围:
1<=version1.length,version2.length<=10001 <= version1.length, version2.length <= 10001<=version1.length,version2.length<=1000
version1 和 version2 的修订号不会超过int的表达范围,即不超过 32 位整数 的范围
进阶: 空间复杂度 O(1)O(1)O(1) , 时间复杂度 O(n)O(n)O(n)
添加链接描述
import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 比较版本号* @param version1 string字符串 * @param version2 string字符串 * @return int整型*/public int compare (String version1, String version2) {// write code hereint n1=version1.length();int n2=version2.length();int i=0;int j=0;while(i<n1||j<n2){long num1=0;while(i<n1&&version1.charAt(i)!='.'){num1=num1*10+(version1.charAt(i)-'0');i++;}
i++;long num2=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;}
}
添加链接描述
描述
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
数据范围:二叉树的节点数量满足 1≤n≤100 1 \le n \le 100 \ 1≤n≤100 ,二叉树节点的值满足 1≤val≤100 1 \le val \le 100 \ 1≤val≤100 ,树的各节点的值各不相同
规定了int类型 所以这样不行。要返回一个值
还是得那样子去弄
int[] res = new int[]
添加链接描述
创建数组
在这里插入代码片
import java.util.*;/** public class TreeNode {* int val = 0;* TreeNode left = null;* TreeNode right = null;* public TreeNode(int val) {* this.val = val;* }* }*/public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param root TreeNode类 * @return int整型一维数组*/public int[] preorderTraversal (TreeNode root) {// write code hereList<Integer> list=new ArrayList();preOrder(list,root);int [] res=new int[list.size()];for(int i=0;i<list.size();i++){res[i]=list.get(i);}return res;}public void preOrder(List<Integer> list,TreeNode root){if(root==null){return ;}list.add(root.val);preOrder(list,root.left);preOrder(list,root.right);}}
添加链接描述
描述
给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。
数据范围: 0≤n≤10000\leq n\leq10000≤n≤1000
要求:空间复杂度 O(1)O(1)O(1) ,时间复杂度 O(n)O(n)O(n) 。
如当输入链表{1,2,3}时,
经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。
在这里插入代码片
/*
public class ListNode {int val;ListNode next = null;ListNode(int val) {this.val = val;}
}*/
public class Solution {public ListNode ReverseList(ListNode head) {if(head==null){return null;}
ListNode prev=null;
ListNode cur=head;
while(cur!=null){ListNode cur_next=cur.next;cur.next=prev;prev=cur;cur=cur_next;}
return prev;}
}
bm22 bm23 bm1相关推荐
- BM22 比较版本号
描述 牛客项目发布项目版本时会有版本号,比如1.02.11,2.14.4等等 现在给你2个版本号version1和version2,请你比较他们的大小 版本号是由修订号组成,修订号与修订号之间由一个& ...
- 【FasterVIT】试图从FasterVIT网络结构中窥探
题解 | #查找山东大学或者性别为男生的信息# # select device_id,gender,age,gpa from user_profile as a where a.university ...
- 最长公共子序列(LCS)问题 Longest Common Subsequence 与最长公告字串 longest common substr...
问题描述:字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X="x0,x1,-,xm-1",序列Y=& ...
- 父子表关联在窗体中的绑定显示和浏览
private BindingManagerBase bm1 = null;private BindingManagerBase bm2 = null; private void DataScanIn ...
- 面试不怂之redis与缓存大全
基础篇 问题:什么是redis? Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源.包含多种数据结构.支持网络.基于内存.可选持久性的键值对存储数据库,其具备 ...
- 动态规划解决方案最长公共子序列问题(开启)
动态规划 常常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题.简单地採用把大问题分解成子问题.并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数添加. 为 ...
- zillow房价预测
数据介绍 该项目是Data Castle上的美国King County房价预测训练赛,用到的数据取自于kaggle datasets,由@harlfoxem提供并分享,但是只选取了其中的子集,并对数据 ...
- 20145234黄斐《信息安全系统设计基础》第九周学习总结(课本部分)
课本知识概述 I/O设备(输入input与输出output)是在主存和外部设备之间拷贝数据的过程 1.UNIX I/O 一个UNIX文件就是一个m个字节的序列:B0,B1,--,Bm-1: 执行方式: ...
- Oracle的PL/SQL编程前奏之基础技能实战一(匿名子程序)
Oracle的PL/SQL编程之基础技能实战一 一>基础代码检查检查以bm_开头的系统初始化编码表是否有空值.与业务系统相关的编码项不能存在空值,会导致系统业务无法办理.为初始化数据表.在做测试 ...
最新文章
- 家中电脑无法共享,联通域名解析劫持竟是罪魁
- iPhone/Mac Objective-C内存管理教程和原理剖析(二)口诀与范式转
- C#求数组中元素的全排列
- 今天面了个腾讯的大佬,让我见识到了基础的天花板!
- iOS开发--正则表达式
- 星露谷服务器一直没有空闲位置,星露谷物语小镇地图全npc住址位置 经验告诉你该这样...
- 新手快速入门自动化测试第一步
- 关于汇编语言和IL的异同点
- python怎么用numpy_Python:一篇文章掌握Numpy的基本用法
- ImageJ Merge荧光图片
- 旧稿 - 我与张树新共事创业的年代 - 张树新马云
- 基金指数温度怎么算_投资指数基金的奇技淫巧——指数温度实战详解
- 深度学习21天实战caffe学习笔记《3 :准备Caffe环境》
- 5000元的电视机推荐 5000元75寸高性价比电视推荐
- html设计应用程序,软件工程师-20个HTML5应用程序设计示例(10页)-原创力文档
- SAP 批导长文本字段自动和手动换行
- Unity3D计时器制作
- 2021-07-20 快捷键学习
- Leetcode-111 二叉树的最小深度(递归)
- 更改无线网卡mac地址后,无法连接到此无线网卡分享的热点