
算法
文章平均质量分 61
G1useppE
前端入门小白
展开
-
组合总和IV(js三种解法)
给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。题目数据保证答案符合 32 位整数范围。示例 1:输入:nums = [1,2,3], target = 4输出:7解释:所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。示例 2:输入:nums = [9], tar原创 2022-06-09 14:10:35 · 706 阅读 · 1 评论 -
在排序数组中查找元素的第一个和最后一个位置
给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗?示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例 2:输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,-1]示例 3:输入:nums = [], target =原创 2022-06-03 11:15:48 · 389 阅读 · 0 评论 -
下一个排列
整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的 下一个排列 就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。例如,arr = [1,2原创 2022-06-02 21:12:41 · 273 阅读 · 0 评论 -
华为机考:二叉树的层序遍历
题目:给定一棵二叉树的前序遍历和中序遍历,求其层序遍历的结果。输入:两个字符串,其长度n均小于等于26第一行为前序遍历,第二行为中序遍历二叉树中的结点名称以大写字母表示:A,B,C….最多26个结点输出:输入样例可能有多组,对于每组测试样例输出一行,为后序遍历的字符串样例输入:FDXEAGXDEFAG...原创 2022-05-31 17:57:59 · 1716 阅读 · 0 评论 -
第K个排列
题目:给定参数n,从1到n会有n个整数:1,2,3,…,n,这n个数字共有 n! 种排列。按大小顺序升序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:"123""132""213""231""312""321"给定 n 和 k,返回第 k 个排列。解题思路:这是一道全排列的变种问题,给定参数n表示1~n范围内的整数。求所有排列,再根据参数k得到所有排列中的第k个元素。这里需要注意第k个元素转换成索引形式应该是k-1,得到所有全排列的结果集原创 2022-05-27 23:15:16 · 692 阅读 · 0 评论 -
电话号码的字母组合
题目:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]示例 2:输入:digits = ""输出:[]示例 3:输入:digits = "2"输出:["a","b","c"]提示:0 <= digits.原创 2022-05-21 01:16:02 · 129 阅读 · 0 评论 -
分割回文串js
题目:给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文串 。返回 s 所有可能的分割方案。回文串 是正着读和反着读都一样的字符串。示例 1:输入:s = "aab"输出:[["a","a","b"],["aa","b"]]示例 2:输入:s = "a"输出:[["a"]]提示:1 <= s.length <= 16s 仅由小写英文字母组成。解题思路:1.题目要求返回所有的分割方案,因此可以使用回溯穷举所有的可能结果,放入到结果集当中原创 2022-05-19 22:32:47 · 328 阅读 · 0 评论 -
跳跃游戏I
给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2:输入:nums = [3,2,1,0,4]输出:false解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。题解2原创 2022-05-14 21:52:26 · 109 阅读 · 0 评论 -
不同路径I II III js
不同路径问题I II III js解法原创 2022-05-14 16:57:39 · 792 阅读 · 0 评论 -
最长回文子序列js
最长回文子序列js解法原创 2022-05-13 21:15:37 · 681 阅读 · 0 评论 -
合唱队js题解
题目:N 位同学站成一排,音乐老师要请最少的同学出列,使得剩下的 K 位同学排成合唱队形。设K位同学从左到右依次编号为 1,2…,K ,他们的身高分别为T1,T2,…,TK ,若存在i(1≤i≤K) 使得T1<T2<......<Ti−1<Ti 且 Ti>Ti+1>......>TK,则称这K名同学排成了合唱队形。通俗来说,能找到一个同学,他的两边的同学身高都依次严格降低的队形就是合唱队形。例子:123 124 125 12原创 2022-05-13 17:19:57 · 603 阅读 · 1 评论 -
寻找身高相近的小朋友js
小明今年升学到了小学1年级,来到新班级后,发现其他小朋友身高参差不齐,然后就想基于各小朋友和自己的身高差,对他们进行排序。请帮他实现排序:输入描述第一行为正整数 h和n0<h<200 为小明的身高0<n<50 为新班级其他小朋友个数第二行为n各正整数h1 ~ hn分别是其他小朋友的身高取值范围0<hi<200且n个正整数各不相同 输出描述 输出排序结果,各正整数以空格分割 和小明身高差绝对值最小的小朋友排在前面原创 2022-05-12 13:14:56 · 1199 阅读 · 0 评论 -
最长连续子序列js
题目描述:有N个正整数组成的一个序列,给定一个整数sum求长度最长的的连续子序列使他们的和等于sum返回次子序列的长度,如果没有满足要求的序列 返回-1备注:输入序列仅由数字和英文逗号构成,数字之间采用英文逗号分割序列长度 1<=N<=200,输入序列不考虑异常情况由题目保证输入序列满足要求示例输入:1,2,3,4,26输出:3解析:1,2,3和4,2两个序列均能满足要求,所以最长的连续序列为1,2,3 因此结果为3输入:1,2,3,4,220原创 2022-05-10 22:04:12 · 914 阅读 · 0 评论 -
关于斐波那契数列数列的三种解法
斐波那契数列解法原创 2022-04-23 12:31:13 · 451 阅读 · 0 评论 -
最长公共子序列
1143. 最长公共子序列给定两个字符串text1和text2,返回这两个字符串的最长公共子序列的长度。如果不存在公共子序列,返回0。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace"是"abcde"的子序列,但"aec"不是"abcde"的子序列。两个字符串的公共子序列是这两个字符串所共同拥有的子序列。示例 1:输入:text1 = "a...原创 2022-05-03 22:07:57 · 241 阅读 · 0 评论 -
01背包问题js解法
01背包问题js代码原创 2022-05-06 14:45:57 · 1784 阅读 · 0 评论 -
组合问题js
题目:给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。示例 1:输入:n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]示例 2:输入:n = 1, k = 1输出:[[1]]思路:组合问题可以用回溯解决,回溯是伴随着递归的,回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案。写一个回溯算法主要分三步:1......原创 2022-05-05 11:50:25 · 737 阅读 · 1 评论 -
最长回文子串
最长回文子串js解法原创 2022-04-29 14:09:20 · 440 阅读 · 0 评论 -
最大子数组和js解法
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1] 的和最大,为6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [5,4,-1,7,8]输出:23题解1:(贪心)解题思路:贪心就是从局部最优解中,推出全局最优解。局部最..原创 2022-05-08 14:23:57 · 613 阅读 · 0 评论 -
计算GPU算力js解法
题目:为了充分发挥GPU算力, 需要尽可能多的将任务交给GPU执行, 现在有一个任务数组, 数组元素表示在这1s内新增的任务个数, 且每秒都有新增任务, 假设GPU最多一次执行n个任务, 一次执行耗时1s, 在保证GPU不空闲的情况下,最少需要多长时间执行完成。输入描述第一个参数为gpu最多执行的任务个数 取值范围1~10000第二个参数为任务数组的长度 取值范围1~10000第三个参数为任务数组 数字范围1~10000输出描述 执行完所有任务需要多少秒例子输入351 2原创 2022-05-11 13:50:38 · 951 阅读 · 0 评论