算法
devlincms
男儿不展凌云志,空负天赐八尺躯。
展开
-
Leecode - 503. 下一个更大元素 II
给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素。数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。找不到下一个更大的数;解释: 第一个 1 的下一个更大的数是 2;输入: nums = [1,2,3,4,3]输入: nums = [1,2,1]输出: [2,3,4,-1,4]输出: [2,-1,2]原创 2023-05-09 14:13:32 · 394 阅读 · 0 评论 -
LeeCode - 739. 每日温度
给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。原创 2023-05-09 11:42:33 · 109 阅读 · 0 评论 -
leecode-5-最长回文子串
最长回文子串原创 2022-06-23 18:59:51 · 91 阅读 · 0 评论 -
dfs全排列
全排列原创 2022-06-21 15:01:02 · 208 阅读 · 0 评论 -
详解JavaScript实现哈希表
哈希表是一种非常重要的数据结构,几乎所有的编程语言都有直接或者间接的应用这种数据结构,它通常是基于数组实现的。它的结构是数组,但是神奇的地方在于对下标值的一种变换,这种变换我们可以称之为哈希函数,通过哈希函数可以获得到HashCode。使用一种数据结构来存储单词信息,比如有50000个单词,找到单词后每个单词有自己的解释及应用等等。我们应该怎样操作呢?或许我们可以尝试将字母转化成合适的下标。但是怎样才能将一个字符转化成数组的下标值呢?有没有一种方案,可以将单词转化成数组的下标值呢?...原创 2022-06-17 17:01:49 · 1513 阅读 · 0 评论 -
迷宫最短路径-DFS算法
JavaScript版本 let min = 9999 let directArr = [ [0, 1], [1, 0], [0, -1], [-1, 0], ] let visited = Array.from({ length: 10 }, () => Array.from({ length: 10 }, () => 0) ) class Point { constructor(x, y) { this.x = x this.y = y } }原创 2022-05-25 08:54:40 · 252 阅读 · 0 评论 -
leecode-728
自除数是指可以被它包含的每一位数整除的数。 例如,128 是一个 自除数 ,因为128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。 自除数 不允许包含 0 。 给定两个整数left和right ,返回一个列表,列表的元素是范围[left, right]内所有的 自除数 。原创 2022-03-31 20:19:58 · 3811 阅读 · 0 评论 -
leecode-1606
1606. 找到处理最多请求的服务器原创 2022-03-31 16:25:05 · 1009 阅读 · 0 评论 -
JavaScript 无重复字符的最长子串
单链表数据求和两个非空单链表数据求和实现思想实现代码 两个非空单链表数据求和 给出两个 非空 的链表用来表示两个非负的整数。 其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 实现思想 循环每位相加,每位相加结果大于等于10,进1。 实现代码 /** * Definition for singly-linked list. **/ fu原创 2020-07-08 10:11:23 · 181 阅读 · 0 评论 -
算法面试-找出相同数
集合 S 包含从1到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个元素复制了成了集合里面的另外一个元素的值,导致集合丢失了一个整数并且有一个元素重复。 给定一个数组 nums 代表了集合 S 发生错误后的结果。你的任务是首先寻找到重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。 示例 1: 输入: nums = [1,2,2,4] 输出: [2,3] 注意: 给定数组的长度范...原创 2019-12-12 18:00:39 · 336 阅读 · 0 评论 -
零钱兑换-动态规划
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 示例 1: 输入: coins = [1, 2, 5], amount = 11 输出: 3 解释: 11 = 5 + 5 + 1 示例 2: 输入: coins = [2], amount = 3 输出: -1 说明: 你可以...原创 2019-12-12 17:34:45 · 309 阅读 · 0 评论