恭喜发现宝藏!微信搜索公众号【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
关注
打赏