随笔分类 - # 笔试
【经典算法】LeetCode350:两个数组的交集 II(Java/C/Python3/JavaScript实现含注释说明,Easy)
摘要:#算法 标签:哈希表、数组 目录 题目描述思路及实现方式一:哈希表思路代码实现Java版本C语言版本Python3版本JavaScript版本 复杂度分析 方式二:排序 + 双指针思路代码实现Java版本C语言版本Python3版本JavaScript版本 复杂度分析 总结相似题目 题目描述 给你两
阅读全文
【经典算法】LeetCode101:对称二叉树(Java/C/Python3实现含注释说明,Easy)
摘要:对称二叉树 题目描述思路及实现方式一:递归(推荐)思路代码实现Java版本C语言版本Python3版本 复杂度分析 方式二:队列(迭代)思路代码实现Java版本C语言版本Python3版本 复杂度分析 总结相似题目 标签:二叉树递归、对称性判断 题目描述 给你一个二叉树的根节点 root , 检查它
阅读全文
动态规划详解(Dynamic Programming)
摘要:目录 引入什么是动态规划?动态规划的特点解题办法解题套路框架举例说明斐波那契数列题目描述解题思路方式一:暴力求解思考 方式二:带备忘录的递归解法方式三:动态规划 推荐练手题目 引入 动态规划问题(Dynamic Programming)应该是很多人头疼的一类问题, 本文尝试探索一种套路帮助解决此类问
阅读全文
【经典算法】LeetCode 20:有效的括号(Java/C/Python3实现含注释说明,Easy)
摘要:有效的括号 题目思路及实现方式一:栈(推荐)思路代码实现Java版本C++版本(由于C语言需要自己实现栈较为繁琐,此处使用C++)Python3版本 复杂度分析 方式二:递归法思路代码实现Java版本C语言版本Python3版本 复杂度分析 总结相似题目 标签:栈|递归 题目 > 给定一个只包括 '
阅读全文
【经典算法】LeetCode 21:合并两个有序链表Java/C/Python3实现含注释说明,Easy)
摘要:合并两个有序链表 题目描述思路及实现方式一:迭代(推荐)思路代码实现Java版本C语言版本Python3版本 复杂度分析 方式二:递归(不推荐)思路代码实现Java版本C语言版本Python3版本 复杂度分析 总结相似题目 标签:字符串处理、前缀判断 题目描述 将两个升序链表合并为一个新的 升序 链
阅读全文
【经典算法】LeetCode1:两数之和(Java/C/Python3实现含注释说明,Easy)
摘要:目录 题目思路及实现方式一:暴力解法(不推荐)思路代码实现Java版本C语言版本Python3版本 复杂度分析 方式二:哈希表(推荐)思路代码实现Java版本C语言版本Python3版本 复杂度分析 方式三:双指针法思路代码实现Java版本C语言版本Python3版本 复杂度分析 总结相似题目 标签
阅读全文
【经典算法】LeetCode14:最长公共前缀(Java/C/Python3实现含注释说明,Easy)
摘要:最长公共前缀 题目思路及实现方式一:横向扫描思路代码实现Java版本C语言版本Python3版本 复杂度分析 方式二:纵向扫描思路代码实现Java版本C语言版本Python3版本 复杂度分析 方式三:分治思路代码实现Java版本C语言版本Python3版本 复杂度分析 方式四:二分查找思路代码实现J
阅读全文
必会的10个经典算法题(附解析答案代码Java/C/Python看这一篇就够)
摘要:引言 常见的数据结构与算法题目,涵盖了数组、链表、栈、队列、二叉树、哈希表、字符串、图、排序和查找等方面的考察点。每个题目都附带有LeetCode的链接,可以点击链接了解更多题目详情 概述 类型题目考察点难度LeetCode链接数组两数之和哈希表、查找简单LeetCode 1链表合并两个有序链表链表
阅读全文
【经典算法】LeetCode 1143:最长公共子序列Java/C/Python3实现含注释说明,Medium)
摘要:最长公共子序列 题目思路及实现方式一:暴力递归(不推荐,但容易想到)思路代码实现Java版本优化:缓存优化记忆化搜索 C语言版本Python3版本 复杂度分析 方式二:动态规划(推荐)思路代码实现Java版本C语言版本Python3版本 复杂度分析 总结相似题目 标签:字符串处理、前缀判断 题目 给
阅读全文
Leetcode70. 爬楼梯(动态规划)
摘要:Leetcode原题 Leetcode70. 爬楼梯 标签 记忆化搜索 | 数学 | 动态规划 题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶。 1
阅读全文
LertCode263.丑数
摘要:题目描述 丑数 就是只包含质因数 2、3 和 5 的正整数。 给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:n = 6 输出:true 解释:6 = 2 × 3 示例 2: 输入:n = 1 输出:true 解释:1 没有质
阅读全文
LeetCode146:LRU缓存
摘要:leetCode:146. LRU 缓存 题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如
阅读全文
《剑指offer》2、字符串替换
摘要:题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 public class Solution { public String replaceSpace(StringBuffer s
阅读全文
LeetCode42 接雨水
摘要:leecode: . - 力扣(LeetCode) 题目分类:动态规划、双指针 难度等级:困难 题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1] 输出:
阅读全文