恭喜发现宝藏!微信搜索公众号【TechGuide】关注更多新鲜好文和互联网大厂的笔经面经。 作者@TechGuide【全网同名】 点赞再看,养成习惯,您动动手指对原创作者意义非凡🤝
文章目录
第一道:版本号大小判断(100%)
go版本
- 第一道:版本号大小判断(100%)
- go版本
- cpp版本
- 第二道: 三数之和(100%)
- 第三道: 旋转列表(100%)
作者:朕蹲厕唱忐忑
链接:https://www.nowcoder.com/discuss/700968?type=post&order=create&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack
来源:牛客网
package main
import (
"fmt"
"strings"
)
func main() {
var first, second string
// fmt.Print("请输入")
fmt.Scan(&first)
fmt.Scan(&second)
fmt.Println(first, second)
fmt.Println(compare(first, second))
}
func compare(first, second string) int {
// 以. 进行分割
firs, secs := strings.Split(first, "."), strings.Split(second, ".")
for ii := 0; ii =len(secs){
return 1
}
fir := firs[ii]
sec := secs[ii]
// 找到初始的有效位 忽略前置的0
var firstValid, secondValid int
//first=strings.ReplaceAll(first,".","")
//second=strings.ReplaceAll(second,".","")
firBs, secBs := []byte(fir), []byte(sec)
for i, b := range firBs {
if b == '0' {
continue
}
firstValid = i
break
}
for i, b := range secBs {
if b == '0' {
continue
}
secondValid = i
break
}
for l, r := firstValid, secondValid; ; l, r = l+1, r+1 {
if l >= len(firBs) || r >= len(secBs) {
break
}
if firBs[l] secBs[r] {
return 1
}
}
}
return 0
}
cpp版本
#include
using namespace std;
int main()
{
string version1,version2;
cin>>version1>>version2;
stringstream ss1(version1);
stringstream ss2(version2);
while (1)
{
/* code */
string str1,str2;
getline(ss1,str1,'.');
int v1 = stoi(str1);
getline(ss2,str2,'.');
if(str2==""||str1=="")
{
if(str2==""&&str1!=""&&stol(str1)!=0) cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?