当前位置: 首页> 娱乐> 明星 > 眯眯扑克app哪个公司开发_知识付费分销平台有哪些_百度引擎搜索_搜索引擎优化的目标

眯眯扑克app哪个公司开发_知识付费分销平台有哪些_百度引擎搜索_搜索引擎优化的目标

时间:2025/7/18 6:47:03来源:https://blog.csdn.net/weixin_74143480/article/details/147307450 浏览次数:0次
眯眯扑克app哪个公司开发_知识付费分销平台有哪些_百度引擎搜索_搜索引擎优化的目标

leetcode 100hot

哈希

1.两数之和

哈希表的使用

通过但是时间复杂度O(N^2).

import java.util.HashMap;
class Solution {public int[] twoSum(int[] nums, int target) {HashMap<Integer, Integer> arr = new HashMap<Integer, Integer>();int[] two = new int[2];for(int i = 0; i < nums.length; i++){arr.put(i, nums[i]);}for (Integer i : arr.keySet()) {for (Integer j : arr.keySet()) {if(i !=j && arr.get(i) + arr.get(j) == target){two[0] = i;two[1] = j;}}}return two;}
}

时间复杂度:O(n) 空间复杂度O(n)

import java.util.HashMap;
class Solution {public int[] twoSum(int[] nums, int target) {HashMap<Integer, Integer> arr = new HashMap<Integer, Integer>();for(int i = 0; i < nums.length; i++){if(arr.containsKey(target - nums[i])){return new int[]{arr.get(target - nums[i]),i};}arr.put(nums[i],i);//键放元素,值放索引}return new int[0];}
}

2.字母异位词分组

数组 哈希表 字符串 排序
字母异位词 是由重新排列源单词的所有字母得到的一个新单词。
就是拥有相同的字母个数和字母元素
class Solution {public List<List<String>> groupAnagrams(String[] strs) {//创建哈希表对象//键:存放按字母排列的字符串//值:存放string中存在的,与键的字母异位词Map<String,List<String>> map = new HashMap<String, List<String>>();//循环字符串for(String str: strs){//先将字符串转为字符数组char[] array = str.toCharArray();//然后进行排序Arrays.sort(array);//然后将对应的键值存放到哈希表中String key = new String(array);List<String> list = map.getOrDefault(key, new ArrayList<String>());list.add(str);map.put(key,list);}return new ArrayList<List<String>>(map.values());}
}
不会,根据题解写的。
主要思路就是:
把字符串转换为字符数组并排序,将其作为键。
如果其它的字符串的键一样,则将它加到键对应的值数组中。
否则另开一个。

3.最长连续序列

对给定的数列进行排序
有点类似之前写过的数组分段,是说在逻辑上相似
定义一个最大长度和现在记录的连续序列的长度
循环数组,如果当前i不是前一个元素加一,则更新当前的连续序列长度和更新最大长度。
注意跳过重复元素可以减少一点计算。
import java.util.*;public class Solution {public int longestConsecutive(int[] nums) {if (nums.length == 0) return 0;Arrays.sort(nums);  // 排序int maxLen = 1;int curLen = 1;for (int i = 1; i < nums.length; i++) {if (nums[i] == nums[i - 1]) continue; // 跳过重复元素if (nums[i] == nums[i - 1] + 1) {curLen++;} else {maxLen = Math.max(maxLen, curLen);curLen = 1;}}maxLen = Math.max(maxLen, curLen);return maxLen;}
}
关键字:眯眯扑克app哪个公司开发_知识付费分销平台有哪些_百度引擎搜索_搜索引擎优化的目标

版权声明:

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

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

责任编辑: