题解 | #牛群的独特排列#

牛群的独特排列

https://www.nowcoder.com/practice/e5d36cc2192c4cf194c82b3d4eb0ac1e?tpId=363&tqId=10605823&ru=/exam/oj&qru=/ta/super-company23Year/question-ranking&sourceUrl=%2Fexam%2Foj

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param s string字符串
     * @return int整型
     */
    public int lengthOfLongestSubstring (String s) {
        if (s == null || s.length() == 0) {
            return 0;
        }
	  // 哈希表用来存储s中不重复的字符
        HashSet<Character> hashSet = new HashSet<>();
        int tempLength = 1;
        int maxLength = Integer.MIN_VALUE;
        hashSet.add(s.charAt(0));
        for (int i = 1; i < s.length(); i++) {
            char c = s.charAt(i);
		  // 如果不重复添加到哈希表,临时长度+1
            if (!hashSet.contains(c)) {
                hashSet.add(c);
                tempLength++;
            } else {
			  // 取最大长度
                maxLength = Math.max(maxLength, tempLength);
			  // 重新被赋值为1
                tempLength = 1;
            }
        }
	  // 如果全都是不重复的,那么可能没走 else 中的Math.max
        maxLength = Math.max(tempLength, maxLength);

        return maxLength;
    }
}

本题知识点分析:

1.哈希表

2.动态规划

3.数学模拟

4.API函数(Math.max)

本题解题思路分析:

1.哈希表用来存储不重复的字符

2. 如果不重复添加到哈希表,临时长度+1

3.如果出现重复,表明可以更新最大长度

4.for循环遍历完一遍后,再Math.max一次

5.可以用dp规划做,但要两次遍历O(n)的复杂度,所以就没写。

本题使用编程语言: Java

如果你觉得本篇文章对你有帮助的话,可以点个赞支持一下,感谢~

全部评论

相关推荐

1 收藏 评论
分享
正在热议
# 牛客帮帮团来啦!有问必答 #
1149909次浏览 17142人参与
# 通信和硬件还有转码的必要吗 #
11160次浏览 101人参与
# OPPO开奖 #
19139次浏览 267人参与
# 和牛牛一起刷题打卡 #
18728次浏览 1634人参与
# 实习与准备秋招该如何平衡 #
203226次浏览 3625人参与
# 大厂无回复,继续等待还是奔赴小厂 #
4918次浏览 30人参与
# 不去互联网可以去金融科技 #
20154次浏览 255人参与
# 通信硬件薪资爆料 #
265774次浏览 2484人参与
# 国企是理工四大天坑的最好选择吗 #
2196次浏览 34人参与
# 互联网公司评价 #
97598次浏览 1279人参与
# 简历无回复,你会继续海投还是优化再投? #
25021次浏览 354人参与
# 0offer是寒冬太冷还是我太菜 #
454697次浏览 5123人参与
# 国企和大厂硬件兄弟怎么选? #
53872次浏览 1012人参与
# 参加过提前批的机械人,你们还参加秋招么 #
14628次浏览 349人参与
# 硬件人的简历怎么写 #
82278次浏览 852人参与
# 面试被问第一学历差时该怎么回答 #
19373次浏览 213人参与
# 你见过最离谱的招聘要求是什么? #
27902次浏览 247人参与
# 学历对求职的影响 #
161171次浏览 1804人参与
# 你收到了团子的OC了吗 #
538553次浏览 6386人参与
# 你已经投递多少份简历了 #
344027次浏览 4963人参与
# 实习生应该准时下班吗 #
96928次浏览 722人参与
# 听劝,我这个简历该怎么改? #
63505次浏览 622人参与
牛客网
牛客企业服务