
算法
等下吃什么?
余幼时即厌学
展开
-
算法:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。// 示例输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。输入:nums = [3,2,4], target = 6输出:[1,2]输入:num转载 2021-02-01 15:40:43 · 360 阅读 · 0 评论 -
算法:在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
// 示例输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 /** * 执行用时: 108 ms * 内存消耗: 44.4 MB */var findRepeatNumber = function(nums) { const statistics = {}; for (let i=0; i<nums.length; i++) { if (statistics[nums[i]]) { return nums[i]转载 2021-02-01 14:40:19 · 1171 阅读 · 0 评论 -
算法:一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。
// 示例输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]/*** 时间:104 ms* 内存:42.8 MB** 1. 统计每个数字出现的次数,{1: 2, 2: 1, 3: 2, 4: 2, 10: 1}* 2. 把出现次数为1的放入数组输出,["2", "10"]* */var singleNumbers = function(nums) { const转载 2021-02-01 11:56:51 · 545 阅读 · 0 评论 -
算法: 给定一个只包括 ‘(‘,‘)‘,‘{‘,‘}‘,‘[‘,‘]‘ 的字符串 s ,判断字符串是否有效。
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 str ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。// 示例输入:s = "()[]{}"输出:true输入:s = "()[]{}"输出:true输入:s = "(]"输出:false输入:s = "([)]"输出:false输入:s = "{[]}"输出:true/*** 执行:108 ms* 内存:43.1 MB* */转载 2021-02-01 11:11:36 · 1502 阅读 · 0 评论 -
排序算法
<!DOCTYPE html><html lang="zh"><head> <meta charset="UTF-8"> <title>Title</title></head><body></body></html><script> /** * 冒泡排序 * 原理:数组中有n个数,从左往右,比较每相邻两个数,如果前者大原创 2021-01-06 19:35:06 · 174 阅读 · 0 评论