做服装外单的网站,网站建设百度索引,企业网站建设规划可行性分析,诚信网站的申请有几家公司可以做的哈希 1. 两数之和49.字母异位词分组128.最长连续序列 1. 两数之和
题目#xff1a;给定一个整数数组 nums 和一个整数目标值 target#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数#xff0c;并返回它们的数组下标。你可以假设每种输入只会对应一个答案。… 哈希 1. 两数之和49.字母异位词分组128.最长连续序列 1. 两数之和
题目给定一个整数数组 nums 和一个整数目标值 target请你在该数组中找出 和为目标值 target 的那 两个 整数并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。 示例 1 输入nums [2,7,11,15], target 9 输出[0,1] 解释因为 nums[0] nums[1] 9 返回 [0, 1] 。
class Solution:def twoSum(self, nums: List[int], target: int) - List[int]:tablecollections.defaultdict(int)for index,num in enumerate(nums):if target-num in table:return [index,table[target-num]]table[num]index49.字母异位词分组
题目给你一个字符串数组请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。
class Solution:def groupAnagrams(self, strs: List[str]) - List[List[str]]:tablecollections.defaultdict(list)for str in strs:table[.join(sorted(str))].append(str)return list(table.values())128.最长连续序列
题目给定一个未排序的整数数组 nums 找出数字连续的最长序列不要求序列元素在原数组中连续的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。
构造集合,时间复杂度是o(n)找最小的数,然后一直遍历找到当前连续数的最大值
class Solution:def longestConsecutive(self, nums: List[int]) - int:# 构造集合找最小的数numsset(nums)#时间复杂度是o(n),遍历整个数组maxlen0for num in nums:if num-1 not in nums:#找最小的数current_numnumcurrent_long1while current_num1 in nums:current_numcurrent_num1current_long1maxlenmax(maxlen,current_long)return maxlen