牛客刷题前指南

前言

以前一直在leetcode上刷编码题,今天转到了牛客上,刷题规则与leetcode上有有些许差别,基本是输入和输出的差别,经过本人实验,将规则写出来做个记录,以便下次在牛客刷题忘记有个参考,这里主要以我常用和熟悉的语言:python,matlab,以及C#为例来说明。

题目

描述
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。
(注:字符串末尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。

输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。

解答

matlab语言

intput_string = input('', "hello nowcoder");    % 输入
string_num = strsplit(intput_string, ' ');      % 按空格分割
last_word = string_num(1, end);                 % 最后一个,是cell格式
lastWordLength = length(last_word{1});          % 用花括号取即为字符串
printf("%d\n", lastWordLength);                 % 格式输出
运行结果:牛客刷题前指南_第1张图片

python3语言

import sys
for line in sys.stdin:
    string_word = line.split()
    print(len(string_word[-1]))
运行结果:

牛客刷题前指南_第2张图片

C#语言

public class Programm
{
    public static void Main()
    {
        string line;
        while((line = System.Console.ReadLine()) != null)   // 连续输入
        {
            string[] words = line.Split();
            System.Console.WriteLine(words[words.Length-1].Length);
        }
    }
}
运行结果:

牛客刷题前指南_第3张图片

结论

目前先写下这三种语言,等以后学到新语言再更新,可以看到主要区别在于输入和输入需要自己按照标准去写,和leetcode中只需要写出完整的函数体不一样,只要掌握这个规则,就可以再牛客上愉快的刷题了。

END

参考

  • https://www.nowcoder.com/discuss/276

你可能感兴趣的:(c#,Python,MATLAB,leetcode,程序人生)