题解 | #两个子串#

两个子串

http://www.nowcoder.com/practice/abf0f0d6b4c44676b44e66060286c45a

import java.util.*; public class Main{ public static void main(String[]args){ Scanner sc=new Scanner(System.in); String input=sc.nextLine(); String new_input=" "+input; char[]str=new_input.toCharArray(); int start=0; int n=input.length(); int[] next=new int[n+1]; // 构建next数组 for(int i=2,j=0;i<=n;i++){ while(j>0&&str[i]!=str[j+1]){ j=next[j]; } if(str[i]==str[j+1]){ j++; } next[i]=j; } StringBuilder sb=new StringBuilder(input); sb.append(input.substring(next[n])); System.out.println(sb.toString()); } }

全部评论

相关推荐

点赞 评论 收藏
分享
09-19 21:21
已编辑
福州大学 嵌入式工程师
可爱的牛油果在求佛:再给你说一点,之前我的简历像流水账,当时我在面试的时候,面试官说:“你简历上的都是在调包吗?有自己的改进吗?如果没有改进直接调包的话,我觉得没什么可深挖的”。当时给我整懵了。其实大部分确实是在调包,因为我确实就用到这些简单的技术,如果只是把技术要点写在简历上,那没什么好说的,没意思,没什么深挖的。但是调包与调包之间仍存在区别,那就是自己的思考,如果你不把自己的困难摆出来,人家觉得就是简单的调包,有啥难的。其实只有你自己知道这个项目的难点在哪,只有你自己知道为什么要用这个技术,为什么要调这个包,而你需要展示的,不是技术,而是这个“为什么”,这是关键。所以,当你的技术不是很硬核的时候,就要突出自己的思考,这时候“思考”是难点,而当你的简历很硬核,技术很复杂时,技术本身就是难点。
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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