当前位置: 首页> 房产> 建筑 > 英文网站设计多少钱_什么是网络营销代理_搜索引擎优化seo信息_武汉seo公司哪家专业

英文网站设计多少钱_什么是网络营销代理_搜索引擎优化seo信息_武汉seo公司哪家专业

时间:2025/7/19 6:06:15来源:https://blog.csdn.net/weixin_65528013/article/details/146920513 浏览次数:0次
英文网站设计多少钱_什么是网络营销代理_搜索引擎优化seo信息_武汉seo公司哪家专业

一.有效字母异位词

1.题目链接

242. 有效的字母异位词 - 力扣(LeetCode)

2.思路

由于英文字母共有 26 个,我们可以创建一个长度为 26 的整数数组,数组的每个索引位置对应一个英文字母(索引 0 对应字母 'a',索引 1 对应字母 'b',以此类推,直到索引 25 对应字母 'z')。通过遍历两个字符串,对每个字符串中的字母进行计数操作,最后检查数组中每个位置的值是否都为 0,若都为 0,则说明两个字符串是字母异位词

3.代码

3.1我的代码易错点!

字符串数组长度:s.length()
整数数组长度:array.length
整数数组定义:int[] array=new int[26];
class Solution {public boolean isAnagram(String s, String t) {int[]array=new int[26];for(int i=0;i<s.length();i++){array[s.charAt(i)-'a']++;}for(int i=0;i<t.length();i++){array[t.charAt(i)-'a']--;}for(int i=0;i<array.length;i++){if(array[i]!=0){return false;}}return true;}
}

二.两个数组的交集

1.题目链接

349. 两个数组的交集 - 力扣(LeetCode)

2.思路

HashSet 是一个不允许有重复元素的集合,它主要用于存储元素,无法直接记录元素出现的次数.HashSet 不保证元素的插入顺序

1.去重--(唯一性)

2.无序性

2.不包含键值对

3.代码

class Solution {public int[] intersection(int[] nums1, int[] nums2) {Set<Integer>set1=new HashSet<>();Set<Integer>set2=new HashSet<>();
/遍历数组1for(int num:nums1){set1.add(num);}
/遍历数组2的过程中判断哈希表中是否存在该元素for(int num:nums2){if(set1.contains(num)){set2.add(num);}}
/另外申请一个数组存放setRes中的元素,最后返回数组int[]array=new int[set2.size()];int j=0;for(int num:set2){array[j++]=num;}return array;}
}

三.快乐数

1.题目链接

202. 快乐数 - 力扣(LeetCode)

2.思路

1.避免无限循环

使用 HashSet 存储已出现的数字

在计算过程中,可能会出现循环的情况,也就是某些数字会反复出现,导致计算陷入无限循环。例如数字 4,计算过程如下:

   4→16→37→58→89→145→42→20→4
   可以看到,数字 4 再次出现,形成了循环,无法得到结果 1,所以 4 不是快乐数

2.getNextNumber( )方法

1.得到数字的最后一位——>取模运算 % 

2.将其平方后累加到总和中,

3.去掉最后一位——>整除运算 / 

4.重复这个过程直到数字变为 0。

3.代码

class Solution {public boolean isHappy(int n) {Set<Integer>set=new HashSet<>();while(n!=1&&!set.contains(n)){set.add(n);n=getNextNumber(n);}return n==1;}private int getNextNumber(int n){int total=0;while(n!=0){int temp=n%10;total+=temp*temp;n=n/10;}return total;}
}

四.两数之和

1.题目链接

1. 两数之和 - 力扣(LeetCode)

2.思路

---什么时候使用哈希法?

----当我们需要查询某元素是否出现过,或者某元素是否在集合里的时候,就要第一时间想到哈希法

因为本题,我们不仅要知道元素有没有遍历过,还要知道这个元素对应的下标,需要使用 key value结构来存放,key来存元素,value来存下标,那么使用map正合适

2.1我的错误代码!!

map.containsKey(temp)

3.代码

class Solution {public int[] twoSum(int[] nums, int target) {Map<Integer,Integer>map=new HashMap<>();int[]array=new int[2];for(int i=0;i<nums.length;i++){int temp=target-nums[i];if(map.containsKey(temp)){array[0]=i;array[1]=map.get(temp);}map.put(nums[i],i);}return array;}
}

关键字:英文网站设计多少钱_什么是网络营销代理_搜索引擎优化seo信息_武汉seo公司哪家专业

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: