乘法分配律计算题50道(商业头脑测试题大全

前言

很久没有更新了,编辑的心也很难过。 责怪自己没有好的知识,和大家分享。 最近我打算慢慢地拾取算法,所以每天都在准备算法的主题。 难度自然很容易进入,所以同学们每天都能看到小编的更新。 日期设定为每天晚上20:00。 请关注。 指定

没有重复字符的最长子串

字符串,搜索非重复字符的最长子字符串的长度。

样本1:

输入: ‘abcabcbb ‘。

输出: 3

说明:的正确字符串是“abc”,长度为3。

Example 2:

输入: ‘bbbbb ‘。

输出: 1

说明:的正确字符串为“b”,长度为1。

样本3:

输入: ‘pwwkew ‘。

输出: 3

说明:的正确字符串是“wke”,长度为3。

解开思路

如果看主题,就会知道需要没有重复字符的字符串。 然后,我想到了HashSet集合。 我们可以利用它的特性来处理这个主题。 通过HashSet集合保存数据,可以非常容易地验证重复项。 然后,通过简单的暴力解决,寻找无重复的最长的子串。 有了以上两点,通过融合他们,就可以寻找没有重复字符的最长子串。 有关详细信息,请参阅以下代码和注释。 )。

类解决方案{2}

publicintlengthoflongestsubstring {

int len=s.length (; //s是传递的字符串,len是字符串的全长

int max=0; //定义缺省情况下,无重复字符的最长子字符串的长度为0

//遍历所有字符

for (英制=0; I S .长度(; I ) {2}

//比较当前最大长度和其余字符

if (马克伦-) {

hashsetstringstringhashset=new hashset (; 实例化用于存储//字符的哈希

//从当前字符向后遍历

for(intj=I; 杰伦; j ) {2}

向//集合中添加元素,判断添加是否成功,如果添加失败,则表示字符重复并跳出了当前循环。

if (! stringHashset.add(s.Charat(j ) ‘) }{

布莱克;

}

}

int setLen=stringHashSet.size (; //定义集合的长度

//判断集合的长度是否大于当前的回答,如果满足,则更新回答值。

是设定长度(if )

max=setLen;

} else break;

}

返回最大值;

}

}

最后说两句话

所有的题目都有各种各样的解法,但我的一定不是最好的,也可以说是低端的解法。 请向kldh们问好。 如果朋友们对算法和编程有很大兴趣的话,可以私信我,大家一起探讨; 互相学习,共同进步。 朋友们如果对这个题目有更好的解法,请在评论中指出,希望大家讨论学习。 感谢您最后的阅读。 谢谢你。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注