甘肃 网站备案,wordpress含有标签,一个网站建设需要多少钱,软件工程专业就业方向1.两数之和
给定一个整数数组 nums 和一个整数目标值 target#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数#xff0c;并返回它们的数组下标。
你可以假设每种输入只会对应一个答案#xff0c;并且你不能使用两次相同的元素。
你可以按任意顺序返回答…1.两数之和
给定一个整数数组 nums 和一个整数目标值 target请你在该数组中找出 和为目标值 target 的那 两个 整数并返回它们的数组下标。
你可以假设每种输入只会对应一个答案并且你不能使用两次相同的元素。
你可以按任意顺序返回答案。 示例 1
输入nums [2,7,11,15], target 9
输出[0,1]
解释因为 nums[0] nums[1] 9 返回 [0, 1] 。示例 2
输入nums [3,2,4], target 6
输出[1,2]示例 3
输入nums [3,3], target 6
输出[0,1]
var twoSum function(nums, target) {for(var i 0;inums.length;i){for(var j i1;jnums.length;j){if(nums[i]nums[j]target){return [i,j]}}}return [-1,-1]
};
2.字母异位词分组
给你一个字符串数组请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1:
输入: strs [eat, tea, tan, ate, nat, bat]
输出: [[bat],[nat,tan],[ate,eat,tea]]
示例 2:
输入: strs []
输出: [[]]示例 3:
输入: strs [a]
输出: [[a]]
var groupAnagrams function(strs) {//创建一个Map实例var m new Map();for (var str of strs) {var k str.split().sort().join(,);if (!m.has(k)) {m.set(k, []);}m.get(k).push(str);}//return Array.from(m.values());return [...m.values()];
};
3.最长连续序列
给定一个未排序的整数数组 nums 找出数字连续的最长序列不要求序列元素在原数组中连续的长度。
请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1
输入nums [100,4,200,1,3,2]
输出4
解释最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。
示例 2
输入nums [0,3,7,2,5,8,4,6,0,1]
输出9
var a (nums) {var maxlength 1;var start 0;///nums Array.from(new Set(nums)).sort();nums [...new Set(nums)].sort((a, b) {return a - b;});for (var i 0; i nums.length; i) {if (nums[i] - nums[i - 1] 1) {maxlength Math.max(maxlength, i - start 1);} else {start i;}}return maxlength;
};
var nums [100, 4, 200, 1, 3, 2];
console.log(a(nums));