JAVA面试题笔试题

  • 面试题或者笔试题常问的算法

    import java.util.ArrayList; import java.util.Collections; import java.util.Comparator;

    import org.apache.commons.lang.StringUtils;

    /*

    • 【Author】 爱吃早餐的程序员

    • 【Time】2020年11月23日 下午2:28:17

    • 【Function】查找一个字符串不重复最长的串 */ public class Test5 {

      public static void main(String[] args) {

      1 String string = "suhdfuisehwerqiowo"; 2 String findNotDupLong = findNotDupLong(string); 3 System.err.println("不重复最长的串:"+findNotDupLong);

      }

      private static String findNotDupLong(String string) {

      1 if (StringUtils.isBlank(string)) { 2 3 4 5 return "没有找到"; 6 } 7 8 ArrayList<String> arrayList = new ArrayList<String>();// 用于存入符合条件的串 9 String[] split = string.split(""); 10 for (int i = 0; i < split.length; i++) { 11 12 13 14 String begin = split[i]; 15 for (int j = i; j < split.length; j++) { 16 17 18 19 if (begin.equals(split[j])) { 20 21 22 23 if (StringUtils.isNotBlank(string.substring(i, j))) { 24 25 26 27 arrayList.add(string.substring(i, j)); 28 } 29 } 30 } 31 } 32 Collections.sort(arrayList, new Comparator<String>() { 33 34 35 36 @Override 37 public int compare(String o1, String o2) { 38 39 40 41 if (o1.length()>o2.length()) { 42 43 44 45 return -1; 46 }else { 47 48 49 50 return 1; 51 } 52 } 53 }); 54 55 return arrayList.size()>0?arrayList.get(0):"没有找到"; 56

      } }

  • 大家有什么好的方法没

  • 后来测试有错 已更新方法

    private static String findNotDupLong(String string) {

    1 if (StringUtils.isBlank(string)) { 2 3 4 5 return "没有找到"; 6 } 7 ArrayList<String> arrayList = new ArrayList<String>();// 用于存入符合条件的串 8 String[] split = string.split(""); 9 for (int i = 0; i < split.length; i++) { 10 11 12 13 for (int j = i; j < string.length(); j++) { 14 15 16 17 if (string.substring(i,j).contains(string.charAt(j)+"")) { 18 19 20 21 System.err.println(string.substring(i,j)+"==="+string.charAt(j)+""); 22 arrayList.add(string.substring(i,j)); 23 i++; 24 j=i; 25 } 26 } 27 } 28 Collections.sort(arrayList, new Comparator<String>() { 29 30 31 32 @Override 33 public int compare(String o1, String o2) { 34 35 36 37 if (o1.length()>o2.length()) { 38 39 40 41 return -1; 42 }else if (o1.length()< o2.length()) { 43 44 45 46 return 1; 47 }else { 48 49 50 51 return 0; 52 } 53 } 54 }); 55 return arrayList.size()>0?arrayList.get(0):"没有找到"; 56}

本文分享 CSDN - 爱吃早餐的程序员。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

作为一个码农终于把这些笔记看懂了,牛皮轰轰

Spring面试高频问题SpringMVC面试高频问题MyBatis面试高频问题SpringBoot面试高频题SpringCloud面试高频问题Redis高级面试题Dubbo高频常问面试问题Java虚拟机(JVM)MySQL数据库高频面试问题Java高频面试专题合集解析:当然在这还有更多整理总结的Java进阶学习笔记和面试题未展示,在这也是

Android程序员面试必备的知识点,深入分析

由于涉及到的面试题较多导致篇幅较长,我根据这些面试题所涉及到的常问范围总结了并做出了一份学习进阶路线图​​​​​​​及面试题答案免费分享给大家,文末有免费领取方式!View面试专题1.View的滑动方式2.View的事件分发机制3.View的加载流程4.View的measurelayout和draw流程5.自定义view需要注意的

Java面试集锦

各位学习Java的同学看过来了,以下是CSDN作者「ThinkWon」总结的面试题。希望对在准备跳槽或者找工作的同学有点帮助。这一波面试题总体来说基本上能够回答面试官的70%问题。虽然有些小节不够完善的,只能靠你自己多面试多总结了。序号内容链接地址1Java基础知识面试题(2020最新版)https://thinkwon.bl

2020面试整理【java】

前言:java框架面试题总结2020年4月1日spring面试题1.你对spring的理解?与springmvc和springboot的区别?(经常被问到)Spring是个Java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。

Java 208 道面试题:Java 基础模块答案

目前市面上的面试题存在两大问题:第一,题目太旧好久没有更新了,还都停留在2010年之前的状态;第二,近几年JDK更新和发布都很快,Java的用法也变了不少,加上Java技术栈也加入了很多新的框架,比如SpringBoot、SpringCloud等,但类似的面试题却极少。相比与这些问题,我的这208道面试题,包含了以下4个特点