美文网首页
面试常见算法与解答

面试常见算法与解答

作者: 龍and胡歌 | 来源:发表于2020-05-21 16:50 被阅读0次

1、最长不含重复字符的子字符串
思路:滑动窗口+检测到重复的进行重新切割

  //情况只考虑小写
    static int findLongestCharsNotRepeated(String s) {
        int length = s.length();
        int a[] = new int[26];
        int cutLength = 0;
        int maxLeng = 0;
        for (int i = 0; i < 26; i++) {
            a[i] = -1;
        }
        for (int i = 0; i < length; i++) {
            int k = s.charAt(i) - 'a';
            int prePosition = a[k];
            //以前没有,直接加一
            if (prePosition < 0) {
                cutLength++;
            }
            //以前如果有,看是否在当前滑动窗口之中
            else {
                int c = i - prePosition;
                //如果在滑动窗口之中
                if (c <=cutLength) {
                    cutLength = c;
                }
                //不在滑动窗口之中
                else {
                    cutLength++;
                }
            }
            if (cutLength > maxLeng) {
                maxLeng = cutLength;
            }
            a[k] = i;
        }
        System.out.println(maxLeng);
        return cutLength;
    }

相关文章

  • 面试常见算法与解答

    1、最长不含重复字符的子字符串思路:滑动窗口+检测到重复的进行重新切割

  • 面试常见问题 - 目录

    面试常见问题01 - C++相关(施工ing) 面试常见问题02 - 算法与数据结构(施工ing) 面试常见问题0...

  • 面试常见算法

    1、冒泡排序 2、选择排序 3、插入排序 4、递归 5、杨辉三角 6、约瑟夫环 7、归并排序 http://www...

  • 面试常见算法

    最长不含重复字符的子字符串: 请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 示例...

  • 前端面试中常见的算法问题读后整理

    看到有一篇写前端面试中常见的算法文章,里面的例子很简单,但也挺有趣。 重要的是,其实每个问题,都不止一个解答,我们...

  • 2019校招Android面试题解1.0(上篇)

    本篇将针对2019Android秋招提前批面试总结中归纳的校招面试题做个小解答(除算法,算法部分另做总结),然后开...

  • 排序

    排序是生活中常常会遇到的问题,也是面试中经常会问的算法,本文简单记录了常见的排序算法,使用C++与Python分别...

  • python爬虫常见面试题(二)

    前言 此为《python爬虫常见面试题(一)》下篇。之所以在这里写下python爬虫常见面试题及解答,一是用作笔记...

  • 排序算法第一篇-排序算法介绍

    排序算法第一篇-排序算法介绍 在面试中,现在无论大小公司都会有算法的。其中排序算法也是一种很常见的面试题。比如冒泡...

  • 面试常见算法题

    1.对象转换为数组 2.统计一个字符串出现最多的字母 3.找出下列正数组的最大差值 4.获取数组中最大或者最小值 ...

网友评论

      本文标题:面试常见算法与解答

      本文链接:https://www.haomeiwen.com/subject/ymktahtx.html