算法
furfur-jiang
你若盛开,清风自来
公众号:程序江
展开
-
扁平化路由中的children
两种效果:只取叶子全部都要思路:1 判断有子节点就递归,2传递res接收结果,3 把父path一层层传下去,使用args接收不定参数let arr = [ { path: '1', children: [ { path: '/1.1', children: [{ path: '/1.1.1' }, { path: '/1.1.2 ' }] }, { path: '/1.2 ' }, ], }, { path: '2',原创 2022-01-17 16:36:03 · 818 阅读 · 0 评论 -
数组去重,对象数组根据属性去重
let arr1 = [1, 2, 3, 1, 2, 4]//1 set方法let set = new Set(arr1)console.log([...set])//2 map方法let map = new Map()for (let i = 0; i < arr1.length; i++){ map.set(arr1[i],true)//重复的直接覆盖}let res2 = []for (let num of map.keys()) { res2.push(num)原创 2022-01-04 15:54:36 · 465 阅读 · 0 评论 -
NC93 设计LRU缓存结构(js:map)
描述设计LRU(最近最少使用)缓存结构,该结构在构造时确定大小,假设大小为 k ,并有如下两个功能set(key, value):将记录(key, value)插入该结构get(key):返回key对应的value值提示:1.某个key的set或get操作一旦发生,认为这个key的记录成了最常使用的,然后都会刷新缓存。2.当缓存的大小超过k时,移除最不经常使用的记录。3.输入一个二维数组与k,二维数组每一维有2个或者3个数字,第1个数字为opt,第2,3个数字为key,value若opt原创 2021-12-06 21:07:31 · 636 阅读 · 0 评论 -
740. 删除并获得点数(JavaScript,动规)
删除并获得点数给你一个整数数组 nums ,你可以对它进行一些操作。每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i] - 1 和 nums[i] + 1 的元素。开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。示例 1:输入:nums = [3,4,2]输出:6解释:删除 4 获得 4 个点数,因此 3 也被删除。之后,删除 2 获得 2 个点数。总共获得 6 个点数。示例 2:输入:nums.原创 2021-11-02 20:17:57 · 407 阅读 · 0 评论 -
算法:通过数组构造树
题目请把该数据整理为树状结构, 该树每个节点的结构如下, node = { children: [], id: id, value: value }用例var data = [{ parentId: 0, id: 1, value: '1' }, { parentId: 3, id: 2,原创 2021-10-15 20:56:17 · 561 阅读 · 0 评论 -
最重要六大排序,及其时间空间复杂度,稳定性总结(选择,冒泡,插入,快排,堆,归并)
这里写目录标题快排归并排序堆排序选择排序冒泡排序插入排序快排function quickSortArr(arr) { if (arr === null || arr.length < 2) return quickSort(arr, 0, arr.length - 1)}function quickSort(arr, l, r) { if (l < r) { let random = Math.floor(Math.random()*(r - l原创 2021-10-05 17:09:23 · 143 阅读 · 0 评论 -
面试题 01.03. URL化(JavaScript,正则)
面试题 01.03. URL化URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)示例 1:输入:"Mr John Smith ", 13输出:“Mr%20John%20Smith”示例 2:输入:" “, 5输出:”%20%20%20%20%20"/** * @param {string} S * @par原创 2021-05-24 08:44:24 · 102 阅读 · 0 评论 -
背包问题解题模板
如何看出是背包问题?背包容量target和物品nums的类型可能是数,也可能是字符串target可能题目已经给出(显式),也可能是需要我们从题目的信息中挖掘出来(非显式)(常见的非显式target比如sum/2等)选取方式有常见的一下几种:每个元素选一次/每个元素选多次/选元素进行排列组合常见的背包类型主要有以下几种1、0/1背包问题:每个元素最多选取一次2、完全背包问题:每个元素可以重复选择3、组合背包问题:背包中的物品要考虑顺序4、分组背包问题:不止一个背包,需要遍历每个背包**而转载 2021-05-23 21:12:46 · 178 阅读 · 0 评论 -
1155.掷骰子的N种方法(JavaScript,动规)
1155.掷骰子的N种方法这里有 d 个一样的骰子,每个骰子上都有 f 个面,分别标号为 1, 2, …, f。我们约定:掷骰子的得到总点数为各骰子面朝上的数字的总和。如果需要掷出的总点数为 target,请你计算出有多少种不同的组合情况(所有的组合情况总共有 f^d 种),模 10^9 + 7 后返回。示例 1:输入:d = 1, f = 6, target = 3输出:1示例 2:输入:d = 2, f = 6, target = 7输出:6分组背包组合问题:需要三重循环:外循环背包原创 2021-05-23 20:53:21 · 232 阅读 · 0 评论 -
1049. 最后一块石头的重量 II(JavaScript,动规)
1049.最后一块石头的重量 II有一堆石头,每块石头的重量都是正整数。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头最小的可能重量。如果没有石头剩下,就返回 0。示例:输入:[2,7,4,1,8,1]输出:1解释:组合 2原创 2021-05-23 19:51:13 · 123 阅读 · 0 评论 -
518.零钱兑换 II(JavaScript,动规)
518.零钱兑换 II给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。示例 1:输入: amount = 5, coins = [1, 2, 5]输出: 4解释: 有四种方式可以凑成总金额:5=55=2+2+15=2+1+1+15=1+1+1+1+1示例 2:输入: amount = 3, coins = [2]输出: 0解释: 只用面额2的硬币不能凑成总金额3。示例 3:输入: amount = 10, coins =原创 2021-05-23 18:04:25 · 147 阅读 · 0 评论 -
377. 组合总和 Ⅳ(JavaScript,动规)
377 组合总和 Ⅳ给你一个由 不同 整数组成的数组 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:输入:原创 2021-05-23 16:27:01 · 76 阅读 · 0 评论 -
279.完全平方数(JavaScript,动规)
279.完全平方数给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。给你一个整数 n ,返回和为 n 的完全平方数的 最少数量 。完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。示例 1:输入:n = 12输出:3解释:12 = 4 + 4 + 4示例 2:输入:n = 13输出:2解释:13 =原创 2021-05-23 10:56:20 · 213 阅读 · 0 评论 -
494.目标和(JavaScript,动规)
494.目标和给你一个整数数组 nums 和一个整数 target 。向数组中的每个整数前添加 ‘+’ 或 ‘-’ ,然后串联起所有整数,可以构造一个 表达式 :例如,nums = [2, 1] ,可以在 2 之前添加 ‘+’ ,在 1 之前添加 ‘-’ ,然后串联起来得到表达式 “+2-1” 。返回可以通过上述方法构造的、运算结果等于 target 的不同 表达式 的数目。示例 1:输入:nums = [1,1,1,1,1], target = 3输出:5解释:一共有 5 种方法让最终目标原创 2021-05-23 10:02:27 · 143 阅读 · 0 评论 -
416.分割等和子集(JavaScript,动规)
416.分割等和子集给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。示例 1:输入:nums = [1,5,11,5]输出:true解释:数组可以分割成 [1, 5, 5] 和 [11] 。示例 2:输入:nums = [1,2,3,5]输出:false解释:数组不能分割成两个元素和相等的子集。提示:1 <= nums.length <= 2001 <= nums[i] <= 100.原创 2021-05-22 12:00:48 · 233 阅读 · 0 评论 -
322.零钱兑换(JavaScript动态规划)
322.零钱兑换给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。示例 1:输入:coins = [1, 2, 5], amount = 11输出:3解释:11 = 5 + 5 + 1示例 2:输入:coins = [2], amount = 3输出:-1示例 3:输入:coins = [1], amount = 0输出:0从小到大逐渐原创 2021-05-22 09:46:50 · 289 阅读 · 0 评论 -
剑指Offer JZ25 复杂链表的复制(JavaScript)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:703069本题知识点: 链表题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)思路:通过map进行记录节点,然后再读取function RandomListNode(x){ this.label =原创 2021-04-03 22:13:37 · 107 阅读 · 0 评论 -
剑指Offer JZ56 删除链表中重复的结点(JavaScript)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:686851本题知识点: 链表题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5示例1输入{1,2,3,3,4,4,5}返回值{1,2,5}思路:首先把进行遍历,把重复的元素存储进数组,然后再次遍历,判断节点的值是否原创 2021-04-03 21:43:55 · 155 阅读 · 0 评论 -
剑指Offer JZ60 把二叉树打印成多行(JavaScript:树)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:313609本题知识点: 树 bfs题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。示例1输入复制{8,6,10,5,7,9,11}返回值复制[[8],[6,10],[5,7,9,11]]思路:首先掌握层次遍历:剑指Offer JZ22 从上往下打印二叉树(JavaScript)然后进行每层长度记录,然后通过循环递减长度,形成子数组,压入结果中。functi原创 2021-04-01 11:51:24 · 128 阅读 · 0 评论 -
剑指OfferJZ53 表示数值的字符串(JavaScript:indexOf+lastIndexOf)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:291209本题知识点: 字符串题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。返回值描述:如果当前字符流没有存在出现一次的字符,返回#字符。思路:读取字节流,通过Insert拼接,然后FirstAppearingOnce进行判原创 2021-04-01 11:26:45 · 79 阅读 · 0 评论 -
剑指OfferJZ53 表示数值的字符串(JavaScript:isNaN)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M 热度指数:5965本题知识点: 字符串题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。示例1输入“123.45e+6”返回值true示例2输入“1.2.3”返回值false思路:针对N原创 2021-04-01 10:44:28 · 73 阅读 · 0 评论 -
剑指Offer JZ47 求1+2+3+...+n(JavaScript:递归)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:328594本题知识点: 数学题目描述求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例1输入5返回值15思路:通过&&代替if实现中断,通过递归代替循环实现。function Sum_Solution(n){ n > 1 && (n += Sum_S原创 2021-03-31 17:14:31 · 151 阅读 · 0 评论 -
剑指Offer JZ50 数组中重复的数字(JavaScript:indexOf+lastIndexOf ; map)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M 热度指数:13830本题知识点: 数组题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任一一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1示例1输入[2,3,1,0,2,5,3]返回值2或3思路:indexOf原创 2021-03-31 17:01:19 · 95 阅读 · 0 评论 -
剑指Offer JZ41 和为S的连续正数序列(JavaScript:穷举)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:458857本题知识点: 穷举题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!返回值描述:输出所有原创 2021-03-31 16:50:43 · 96 阅读 · 0 评论 -
剑指OfferJZ40 数组中只出现一次的数字(JavaScript:indexOf+lastIndexOf)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M 热度指数:11756本题知识点: 位运算 哈希题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。示例1输入[1,4,1,6]返回值[4,6]说明返回的结果中较小的数排在前面思路:当indexOf和lastIndexOf相同时,该数是独一无二的,否则是重复的。function FindNumsAppearOnce( array ) { /原创 2021-03-31 16:09:10 · 90 阅读 · 0 评论 -
剑指OfferJZ46 孩子们的游戏(圆圈中最后剩下的数)(JavaScript:指针)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:376686本题知识点: 数学题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数…这原创 2021-03-30 22:00:17 · 103 阅读 · 0 评论 -
剑指Offer JZ48 不用加减乘除做加法(JavaScript:位运算)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:250483本题知识点: 数学题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。示例1输入1,2返回值3思路:通过“异或运算”获得未进位之前的数A,通过“与运算”获得进位B,然后将B右移一位,如此反复,直到B没有进位。function Add(num1, num2){ // write code here let res wh原创 2021-03-28 16:31:27 · 109 阅读 · 0 评论 -
剑指Offer JZ33 丑数(JavaScript)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:526571本题知识点: 数学 二分题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。示例1输入7返回值8思路:拼凑法,每次我们只用比较3个数:用于乘2的最小的数、用于乘3的最小的数,用于乘5的最小的数。注意:需要用3个if,防止重复,如23和32f原创 2021-03-28 14:54:46 · 98 阅读 · 0 评论 -
剑指Offer JZ36 两个链表的第一个公共结点(JavaScript)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:459860本题知识点: 链表题目描述输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)思路:让两个指针都走完两条链,路程相同,当两指针相等时,即第一个公共节点。ps一个指针走完时将指向另一条链的链头。function FindFirstCommonNode(pHead1, pHead2) { // writ原创 2021-03-28 13:44:56 · 151 阅读 · 0 评论 -
剑指Offer JZ37 数字在排序数组中出现的次数(JavaScript)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:484815本题知识点: 数组 二分题目描述统计一个数字在升序数组中出现的次数。示例1输入[1,2,3,3,3,3,4,5],3返回值4思路:遍历,相等时对结果进行累加function GetNumberOfK(data, k){ // write code here let res = 0 for(let i = 0 ; i < data.length ;原创 2021-03-28 13:09:12 · 97 阅读 · 0 评论 -
剑指Offer JZ28 数组中出现次数超过一半的数字(JavaScript:map)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:661278本题知识点: 哈希 数组题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。示例1输入[1,2,3,2,2,2,5,4,2]返回值2思路:遍历用map存储每个元素,相同元素进行累加,最后通过forEach判断结果f原创 2021-03-25 15:19:41 · 148 阅读 · 0 评论 -
剑指OfferJZ27 字符串的排列(JavaScript:递归图解)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:769998本题知识点: 字符串 动态规划题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则按字典序打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。示例1输入“ab”返回值[“ab”,“ba”]思路:通过不断的切割字符串,循原创 2021-03-25 14:27:32 · 156 阅读 · 0 评论 -
剑指OfferJZ26 二叉搜索树与双向链表(JavaScript)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:514583本题知识点: 分治题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路:中序遍历,左中右,node节点指向节点的右子树即指向当前递归节点pRootOfTree,pRootOfTree的左子树指向node节点,然后node节点向后移动,即等于node = pRootOfTreefunction Convert(pRo原创 2021-03-24 16:22:40 · 86 阅读 · 0 评论 -
剑指OfferJZ34 第一个只出现一次的字符位置(JavaScript:map、indexOf+lastIndexOf)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:486021本题知识点: 字符串题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)示例1输入“google”返回值4思路1:用map去接收每个字符串作为键,重复字符串进行 值+1 ,最后遍历map得到值 === 1 的元素,并且是第一个,输出注意:forE原创 2021-03-24 15:47:28 · 114 阅读 · 0 评论 -
剑指OfferJZ42 和为S的两个数字(JavaScript:map)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:430334本题知识点: 数学 数组 双指针题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。返回值描述:对应每个测试案例,输出两个数,小的先输出。示例1输入[1,2,4,7,11,15],15返回值[4,11]思路:用map记录,获取map的sum - array[i]即val,不存在则map.set原创 2021-03-23 21:51:09 · 87 阅读 · 0 评论 -
剑指Offer JZ19 顺时针打印矩阵(JavaScript)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:894547本题知识点: 数组题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.示例1输入[[1,2],[3,4]]返回值[1,2,4,3]思路:不断收缩边界值,需要原创 2021-03-23 21:34:39 · 140 阅读 · 0 评论 -
剑指Offer JZ20 包含min函数的栈(JavaScript)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:521803本题知识点: 栈题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。let arr = []function push(node){ // write code here arr.push(node)}function pop(){ // write code here arr.pop()原创 2021-03-23 20:52:43 · 142 阅读 · 0 评论 -
剑指Offer JZ16 合并两个排序的链表(JavaScript)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:888383本题知识点: 链表题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。示例1输入{1,3,5},{2,4,6}返回值{1,2,3,4,5,6}思路:比较大小,然后连接下去即可,注意链表的值有相等的。循环条件,两条链表都存在,此时需要进行比较。有一方链表不存在了,就可以直接把另一条链表剩余的接上去,然后返回即可function原创 2021-03-22 21:14:45 · 126 阅读 · 0 评论 -
剑指Offer JZ14 链表中倒数第k个结点(JavaScript:快慢指针)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M 热度指数:25218本题知识点: 链表题目描述输入一个链表,输出该链表中倒数第k个结点。示例1输入{1,2,3,4,5},1返回值{5}思路:快慢指针首先让快指针走k步,k是倒数第k个结点,这样快指针走到终点的时候,慢指针刚好走到倒数第k个节点,因为两个指针都走完了一条链,总路程相等。function FindKthToTail( pHead , k ) { if(!pHead)原创 2021-03-22 20:03:20 · 95 阅读 · 0 评论 -
剑指Offer JZ12 数值的整数次方(JavaScript)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:750361本题知识点: 数学题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0示例1输入2,3返回值8.00000function Power(base, exponent){ return Math.pow(base,exponent)}function Power原创 2021-03-22 19:42:02 · 129 阅读 · 0 评论