随笔分类 -  数据结构

摘要:原题地址:https://leetcode-cn.com/problems/next-permutation/comments/ 思路: 1、找到第一个左边比右边小的数 。如:1243,为2 2、该数右边找比它大的最小数,交换他们。3是最小的比2大的数,交换2和3,变为1342 3、该数右边升序排列 阅读全文
posted @ 2020-11-12 19:27 梁涛999 阅读(84) 评论(0) 推荐(0) 编辑
摘要:单词接龙 题目: 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则: 每次转换只能改变一个字母。 转换过程中的中间单词必须是字典中的单词。 说明: 如果不存在这样的转换序列,返回 0。 所有单词 阅读全文
posted @ 2020-11-05 23:45 梁涛999 阅读(170) 评论(0) 推荐(0) 编辑
摘要:1、反转链表 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 /** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; 阅读全文
posted @ 2020-10-29 22:28 梁涛999 阅读(350) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://leetcode-cn.com/problems/unique-number-of-occurrences/ 题目思路: 题目比较简单,解法也很多,本题使用map和set。主要是基本功的应用。 /** * @param {number[]} arr * @return {b 阅读全文
posted @ 2020-10-28 19:59 梁涛999 阅读(46) 评论(0) 推荐(0) 编辑
摘要:链表分类: 1、单向链表2、双向链表3、环形链表 基本概念:链表实际上是线性表的链式存储结构,与数组不同的是,它是用一组任意的存储单元来存储线性表中的数据,存储单元不一定是连续的。每个节点都包含两个部分,第一部分称为链表的数据区域,用于存储元素本身的数据信息,这里用data表示,第二部分是一个结构体 阅读全文
posted @ 2020-10-26 19:20 梁涛999 阅读(806) 评论(0) 推荐(0) 编辑
摘要:LeetCode 10.25每日一题845. 数组中的最长山脉:https://leetcode-cn.com/problems/longest-mountain-in-array/ 思路:根据前后数的大小及山脉的状态(上升还是下降),分情况判断,简单粗暴。官方思路,枚举山顶和山脚(动态规划)。 完 阅读全文
posted @ 2020-10-25 11:15 梁涛999 阅读(177) 评论(0) 推荐(0) 编辑
摘要:10.22每日一题763. 划分字母区间:https://leetcode-cn.com/problems/partition-labels/ 思路:本题我感觉还是有一定难度的。基本思路是使用递归。 官方题解使用 贪心算法+双指针 代码: /** * @param {string} S * @ret 阅读全文
posted @ 2020-10-22 20:08 梁涛999 阅读(65) 评论(0) 推荐(0) 编辑
摘要:题目链接:925. 长按键入 思路:双指针。题目还是比较简单的,比较容易想到。最后判断下i是否等于name.length,容易忽略。看了下官方解答,也是一样的思路。 代码: /** * @param {string} name * @param {string} typed * @return {b 阅读全文
posted @ 2020-10-21 18:35 梁涛999 阅读(60) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示