算法
2024-02-28 本文已影响0人
我还是老油条
1.相同字母异位数
{"eat", "tea", "tan", "ate", "nat", "bat"}
将字符串转换为字符,然后进行排序,排序后相同的就算同一个字符,再使用map存储字符串,最终获取map.values即可
2.两数之和
使用map存储总数减去当前数量的值,循环判断是否包含
3.移动0
双指针+位置交换
4.最大面积
双指针+长*宽
5.最长连续子串
判断是否包含当前数+1,直到不在连续,取出值和原始数值比较
,大于原始数值就替换掉,反复循环直到循环完毕,原始数值就是最大值
6.无重复字符的最长子串
map存储字符和下标,循环判断map中是否包含,包含,则重新计数
最终长度:i-left+1
7.和为 K 的子数组
map 初始化{0,1}
循环所有数据,累加,当累加值减去k 在map中时,则数量加1
否则将当前累加值放到map中,并计数。