您当前的位置: 首页 > 

TechGuide

暂无认证

  • 3浏览

    0关注

    176博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

好未来秋招三道编程题(2021-08-08)

TechGuide 发布时间:2021-08-08 17:44:18 ,浏览量:3

恭喜发现宝藏!微信搜索公众号【TechGuide】关注更多新鲜好文和互联网大厂的笔经面经。 作者@TechGuide【全网同名】 点赞再看,养成习惯,您动动手指对原创作者意义非凡🤝

文章目录
  • 第一道:版本号大小判断(100%)
      • go版本
      • cpp版本
  • 第二道: 三数之和(100%)
  • 第三道: 旋转列表(100%)

第一道:版本号大小判断(100%) go版本
作者:朕蹲厕唱忐忑
链接: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            
关注
打赏
1665329535
查看更多评论
0.0365s