题解 | 字符串分隔

字符串分隔

https://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7

using System;
static class programe{
    public static void Main(){
        string line;
        int k = 8;
        char PAD = '0';
        while((line = Console.ReadLine()) != null){
           int len = line.Length; 
           for(int i = 0;i < len; i += k ){
           //找最小模块
           int take =Math.Min(k,len-i);
           //切块
           string part = line.Substring(i,take);
           //填充
           part = part.PadRight(k,PAD);
 
            Console.WriteLine(part);
           }
        }



    }





}

这几个步骤,用上C#的Math找最小切割单位,一个是设置的8,一个是长度减去累计切割走的几个8,用Substring去做切割的时候一定要注意第二个参数,往往出现数组越界就是这里的问题,第二个参数应该是动态的值,如果是静态的写8,最后不够8的剩余部分,就出现非法访问了。最后用PadRight()去做填充,PadRight第一个参数是想要要填充的长度,第二个是具体填进来的字符。

全部评论

相关推荐

03-26 13:04
已编辑
电子科技大学 算法工程师
xiaowl:你这个简历“条目上”都比较有深度性,但是实际上面试官又没法很好的评估你是怎么达到很多看上去很厉害的结果的。要避免一些看上去很厉害的包装,比如高效的内存复用策略的表达,如果仅是简单的一些内存共享机制,而且面试上也没有深挖的空间,就不要这样表达。比如,工程化模式本质上可能就是定义了一些abstract class,那也就没特别多值得讲的内容。建议简历上应该侧重那些你花了大量时间和精力解决、研究的问题,不要过分追求“丰富”,而是关注在技术深入度、问题解决能力的表现上。
没有实习经历,还有机会进...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务