网站做数据分析的意义,培训网站开发需求说明书,成都微网站系统,网站建设的素材处理方式#x1f4a1; 解题思路
#x1f4dd; 确定输入与输出#x1f50d; 分析复杂度#x1f528; 复杂题目拆分 #xff1a;严谨且完整 地拆分为更小的子问题#xff08;哈希表的使用场景#xff09;–#xff08;多总结#xff09;#x1f4ad; 选择处理逻辑#xff1a;… 解题思路 确定输入与输出 分析复杂度 复杂题目拆分 严谨且完整 地拆分为更小的子问题哈希表的使用场景–多总结 选择处理逻辑 根据拆分后的子问题总结并选择合适的问题处理思路 检查特殊情况边界条件和特殊情况 返回结果 ● 242.有效的字母异位词 做统计
class Solution {public boolean isAnagram(String s, String t) {if (s.length() ! t.length()) {return false;}int[] table new int[26];for (int i 0; i s.length(); i) {table[s.charAt(i) - a];}for (int i 0; i t.length(); i) {table[t.charAt(i) - a]--;if (table[t.charAt(i) - a] 0) return false;}return true;}
}● 349. 两个数组的交集 Set 去重
class Solution {public static int[] intersection(int[] nums1, int[] nums2){if (nums1.length 0 || nums2.length 0) {return new int[0];}int len1 nums1.length, len2 nums2.length;SetInteger set new HashSet(); // 确保不重复for (int num : nums1) {set.add(num);}ListInteger res new ArrayList(); // 动态数组记录结果for (int num : nums2) {if (set.contains(num)) {res.add(num);set.remove(num);}}int[] result new int[res.size()];for (int i 0; i res.size(); i) {result[i] res.get(i);}return result;}
}● 202. 快乐数快慢指针的实际应用变体
class Solution {public boolean isHappy(int n) {if (n 1 || getNext(n) 1) return true;int slow n;int fast getNext(n);while (fast ! 1 slow ! fast) {slow getNext(slow);fast getNext(getNext(fast));}return fast 1;}private int getNext(int n) {int totalSum 0;while (n 0) {int d n % 10;n n / 10;totalSum d * d;}return totalSum;}
}● 1. 两数之和 哈希表降低时间复杂度
class Solution {public int[] twoSum(int[] nums, int target) {if (nums.length 1) {return new int[2];}HashMapInteger, Integer map new HashMap();int len nums.length;for (int i 0; i len; i) {if (!map.containsKey(nums[i])) {map.put(target-nums[i], i);} else {return new int[] {i, map.get(nums[i])};}}return new int[2];}
}