如何在网站上做标注,网络营销师培训学校,2013电子商务网站建设考试,河南seo技术教程1.题目 2.知识点 注1#xff1a;containsKey 是 Java 中 HashMap 类的一个方法#xff0c;用于检查哈希表中是否包含指定的键。
注2#xff1a;在哈希表#xff08;HashMap)中#xff0c;每个键对应着唯一的值#xff0c;因此键不能重复#xff0c;但值可以重复。 (1)创…1.题目 2.知识点 注1containsKey 是 Java 中 HashMap 类的一个方法用于检查哈希表中是否包含指定的键。
注2在哈希表HashMap)中每个键对应着唯一的值因此键不能重复但值可以重复。 (1)创建哈希表可以使用 HashMap 类来创建一个哈希表对象。
HashMapKeyType, ValueType hashMap new HashMap();其中KeyType 是键的类型ValueType 是值的类型。 (2)添加键值对可以使用 put() 方法向哈希表中添加键值对。
hashMap.put(key, value);这会将指定的键和值添加到哈希表中。 (3)获取值可以使用 get() 方法根据键来获取对应的值。
ValueType value hashMap.get(key);这会返回指定键对应的值如果哈希表中不存在该键则返回 null。 (4)检查键是否存在可以使用 containsKey() 方法来检查哈希表中是否包含指定的键。
boolean containsKey hashMap.containsKey(key);
如果哈希表中包含指定的键则返回 true否则返回 false。 (5)删除键值对可以使用 remove() 方法来删除指定键的键值对。
ValueType removedValue hashMap.remove(key);
(6)遍历哈希表可以使用 entrySet() 方法获取哈希表的键值对集合然后使用循环来遍历这个集合。
for (Map.EntryKeyType, ValueType entry : hashMap.entrySet()) {KeyType key entry.getKey();ValueType value entry.getValue();// 处理键值对
}注3charAt(i) 是 Java 字符串类 String 的一个方法用于返回字符串中指定索引位置处的字符。
String str Hello;
char ch1 str.charAt(0); // 获取第一个字符即 H
char ch2 str.charAt(1); // 获取第二个字符即 e
char ch3 str.charAt(4); // 获取第五个字符即 oSystem.out.println(ch1); // 输出H
System.out.println(ch2); // 输出e
System.out.println(ch3); // 输出o
3.思路和例子 用滑动窗口的方法定义一个左指针和右指针然后指向字符串的起始位置。 4.代码实现
class Solution {public int lengthOfLongestSubstring(String s) {//哈希表用来存储每个字符最后出现的位置HashMapCharacter,Integer charIndexnew HashMap();int maxLength0;int start0;//从起始位置开始的指针//i是当前字符的索引的位置for(int i0;is.length();i){char cs.charAt(i);//c是当前索引的字符// if(charIndex.containsKey(c)charIndex.getKey(c)start)//错的原因是hashmap里面的方法只有对象.get(key),这边c就是key,getkey)得到索引值valueif(charIndex.containsKey(c)charIndex.get(c)start){startcharIndex.get(c)1;}charIndex.put(c,i);//这行代码将当前字符 c 的最后出现位置更新为当前的索引 i。这样我们就始终保持了 charIndex 中存储的是每个字符的最后出现位置。int currLengthi-start1;//更新当前的最长长度//这行代码计算当前的最长子串的长度。i - start 1 表示当前字符的索引与起始位置之间的距离加一即当前子串的长度。这个长度表示的是从起始位置到当前位置的子串长度这个子串保证不包含重复字符。// int changduMath.max(maxLength,currLength);maxLengthMath.max(maxLength,currLength);//I: maxLength 存储的就是字符串中的最长无重复字符子串的长度//I:这边再进行比较是因为要符合最长不重复字符....//这行代码用于更新 maxLength确保其存储的是字符串中的最长无重复字符子串的长度。因为我们要找到的是整个字符串中的最长子串所以需要在每次迭代时更新 maxLength以保证其存储的是最大的长度值。//I:abccab 第一次是ab,第二次也是ab //在遍历字符串的过程中动态更新最长无重复字符子串的长度并确保 maxLength 中存储的是最大的长度值。}return maxLength;}
}