有趣的地方

有趣的地方

Offer必备算法20_队列_宽搜bfs_四道力扣题详解(由易到难)

目录 ①力扣429. N 叉树的层序遍历 解析代码 ②力扣103. 二叉树的锯齿形层序遍历 解析代码 ③力扣662. 二叉树最大宽度 解析代码 ④力扣515. 在每个树行中找最大值 解析代码 本篇完。 ①力扣429. N 叉树的层序遍历 429. N 叉树的层序遍历 难度 中等 给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。 树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。 示例 1: 输入:root =

Offer必备算法10_分治归并_四道力扣题详解(由易到难)

目录 ①力扣912. 排序数组 解析代码 ②力扣LCR 170. 交易逆序对的总数 解析代码1 解析代码2 ③力扣315. 计算右侧小于当前元素的个数 解析代码 ④力扣493. 翻转对 解析代码 ①力扣912. 排序数组 912. 排序数组 难度 中等 给你一个整数数组 nums,请你将该数组升序排列。 示例 1: 输入:nums = [5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:nums = [5,1,1,2,0,0] 输出:[0,0

Offer必备算法14_哈希表_五道力扣题详解(由易到难)

目录 ①力扣1. 两数之和 解析代码 ②力扣面试题 01.02. 判定是否互为字符重排 解析代码 ③力扣217. 存在重复元素 解析代码 ④力扣219. 存在重复元素 II 解析代码 ⑤力扣49. 字母异位词分组 解析代码 本篇完。 ①力扣1. 两数之和 1. 两数之和 难度 简单 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一

Offer必备算法12_链表_五道力扣题详解(由易到难)

目录 ①力扣2. 两数相加 解析代码 ②力扣24. 两两交换链表中的节点 解析代码 ③力扣143. 重排链表 解析代码 ④力扣23. 合并 K 个升序链表 解析代码1(小根堆优化) 解析代码2(递归_归并) ⑤力扣25. K 个一组翻转链表 解析代码 本篇完。 ①力扣2. 两数相加 2. 两数相加 难度 中等 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同

Offer必备算法11_斐波那契dp_四道力扣题详解(由易到难)

目录 动态规划dp算法原理 ①力扣1137. 第 N 个泰波那契数 解析代码1 解析代码2 ②力扣面试题 08.01. 三步问题 解析代码 ③力扣746. 使用最小花费爬楼梯 解析代码1 解析代码2 ④力扣91. 解码方法 解析代码1 解析代码2 本篇完。 动态规划dp算法原理         动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法         动态规划算法与分治算

Offer必备算法05_模拟_五道力扣OJ题详解(由易到难)

目录 模拟算法原理 ①力扣1576. 替换所有的问号 解析代码 ②力扣495. 提莫攻击 解析代码 ③力扣6. Z 字形变换 解析代码 ④力扣38. 外观数列 解析代码 ⑤力扣1419. 数青蛙 解析代码1 解析代码2 本篇完。 模拟算法原理         模拟算法是一种常用的计算机算法,它模拟了实际问题的运行过程,并通过数学模型来预测结果。模拟算法可以应用于各个领域,例如物理、化学、生物、计算机网络等等。         模拟算法,用一句老话说,就是“照

Offer必备算法13_路径dp_六道力扣题详解(由易到难)

目录 ①力扣62. 不同路径 解析代码 ②力扣63. 不同路径 II 解析代码 ③力扣LCR 166. 珠宝的最高价值 解析代码 ④力扣931. 下降路径最小和 解析代码 ⑤力扣64. 最小路径和 解析代码 ⑥力扣174. 地下城游戏 解析代码 本篇完。 ①力扣62. 不同路径 62. 不同路径 难度 中等 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的

其它高阶数据结构②_图(概念+存储+遍历+最小生成树)

目录 1. 图的概念 2. 图的存储结构 2.1 邻接矩阵(后面算法所用) 2.2 邻接表 3. 图的遍历 3.1 BFS广度优先遍历 3.2 DFS深度优先遍历 4. 最小生成树 4.1 Kruskal算法 4.2 Prim算法 本篇完。 1. 图的概念 图是由顶点集合及顶点间的关系组成的一种数据结构:G = (V, E),其中: 顶点集合V = {x|x属于某个数据对象集}是有穷非空集合; E = {(x,y)|x,y属于V}或者E = {<x,

Offer必备算法09_分治快排_四道力扣OJ(快排三路划分)

目录 分治快排算法原理 ①力扣75. 颜色分类 解析代码 ②力扣912. 排序数组 解析代码 ③力扣215. 数组中的第K个最大元素 解析代码 ④力扣LCR 159. 库存管理 III(剑指 Offer . 最小的k个数) 解析代码 本篇完。 分治快排算法原理 分治就是分而治之,快排在数据结构也学过了,现在来学一学三路划分快排(数组划分三块):         前面我们已经实现了三个版本的快速排序的算法,分别是hoare法,挖坑法和前后指针法。但是前面的三个版本的
<< 1 >>

Powered By Z-BlogPHP 1.7.3

© 2018-2020 有趣的地方 粤ICP备18140861号-1 网站地图