LC729. My Calendar I

2022-10-12
阅读 1 分钟
677
[链接]MediumGoogle, Uber, Amazon, Twitch {代码...}

LC 2034. Stock Price Fluctuation

2022-10-12
阅读 2 分钟
581
MediaGoogle[链接] {代码...}

LC 2096. Step-By-Step Directions From a BT Node to Another

2022-10-12
阅读 3 分钟
411
MediumGoogle, Amazon, Microsoft, Tiktok[链接]方法一,两遍BFS,第一遍构造parent表,同时定位到start节点和end节点,第二遍从start节点BFS,找到end节点,同时保存路径,该方法超时。

LC818 Race Car

2022-10-12
阅读 3 分钟
976
[链接]HardGoogle, Amazon第一种解法使用BFS {代码...} 第二种解法,DPdp[target] 表示行驶长度为target的距离需要的最小指示个数。dp[target]有两种可能:target刚好是由"AAA...A"一共n步到达,也就是一路加速,那么这种走法就是最优选择。如果不是上述情况,就有多种可能: a.第一次冲过target的时候进行'R'操作,然后...

归并排序的扩展问题

2022-01-18
阅读 3 分钟
1k
在一组数组中,每一个数左边比当前数小的数累加起来,叫作这个数组的小和。求一个数组的小和。例子:[1,3,4,2,5], 1左边比1小的数,没有; 3左边比3小的数,1; 4左边比4小的数,1,3; 2左边比2小的数,1; 5左边比5小的数,1,3,4,2; 所以该数组的小和是 1 + 1 + 3 + 1 + 1 + 3 + 4 + 2 = 16.

算法之使用Master Theorem估算时间复杂度

2022-01-17
阅读 3 分钟
2.3k
使用树状分析图可以帮助我们剖析递归行为。使用Master Theorem及其推论(也称主定理)可以方便的估算某些递归的时间复杂度。这里主要针对第二个问题,如何针对某类递归,使用master公式估算时间复杂度。

算法之异或操作

2022-01-16
阅读 2 分钟
1k
异或操作0 ^ 0 = 00 ^ 1 = 11 ^ 0 = 11 ^ 1 = 0异或操作可以看做无进位相加操作也就是两个数相加,但是只做加法,不进位。 {代码...} 运算定律0^a = a, a^a = 0满足交换律 a^b = b^a满足结合律 (a^b)^c = a^(b^c)一堆数异或,无论顺序如何,结果相同,其实就是上面的结合律。下面来看两道题:例1数组中有一列数字,其中...

欧几里得算法

2022-01-16
阅读 1 分钟
820
欧几里得算法辗转相除法,计算两个非负整数a,b的最大公约数。例如24和30的最大公约数是6.分解最小质因数分解 24 = 2 x 2 x 2 x 3分解 30 = 2 x 3 x 5提取提取 2 x 3 = 6.算法: {代码...} 该算法的递归过程能够自动矫正a和b的前后顺序。

Java实现线索化二叉树并遍历(前序,中序,后序)

2020-06-28
阅读 8 分钟
2.8k
{代码...} {代码...} {代码...}

走迷宫问题Java递归

2020-06-11
阅读 2 分钟
2.1k
{代码...}

用堆栈实现后缀表达式的计算

2020-06-07
阅读 2 分钟
1.3k
{代码...}

用堆栈实现中缀表达式的计算2

2020-06-07
阅读 3 分钟
1.2k
{代码...}

用单链表实现堆栈

2020-06-07
阅读 3 分钟
1.2k
{代码...} {代码...}

用数组实现堆栈

2020-06-07
阅读 3 分钟
1.3k
{代码...}

用堆栈实现中缀表达式的计算

2020-06-07
阅读 3 分钟
2.2k
{代码...}

约瑟夫环Java实现

2020-06-04
阅读 3 分钟
2.3k
{代码...} 参考: 韩顺平老师的数据结构

数组实现环形队列Java

2020-06-01
阅读 5 分钟
5.6k
用数组实现环形队列的特点是高效。 能快速判断队列是否 满/空; 能快速存取数据。 因为简单高效,所以甚至在硬件中都实现了环形队列。        环形队列广泛应用于网络数据的收发,和不同应用间数据交换(内核和应用程序大量交换数据,从硬件接受大量数据) 内存上没有环形结构,因此环形队列实际上用数组的线性空间来实...

1.斐波那契数列和DP的关系

2019-12-05
阅读 2 分钟
1.9k
用斐波那契数列来过度,结合油管上一个讲得比较好的tutorial,感受一下递归-->记忆化搜索-->dp的过程。以下是斐波那契数列的各个solution的实现。

算法第四版4.1-无向图详解

2017-03-24
阅读 24 分钟
14.4k
四种重要的图模型: 无向图(简单连接) 有向图(连接有方向性) 加权图(连接带有权值) 加权有向图(连接既有方向性又带有权值) 无向图 定义:由一组顶点和一组能够将两个顶点相连的边组成。 特殊:自环(一条连接一个顶点和其自身的边);平行边(连接同一对顶点的两条边) 数学家将含有平行边的图称为多重图;将没...

算法导论笔记动态规划DP详解-钢条切割的分析与实现

2017-03-17
阅读 11 分钟
9.2k
DP和分治的相似 都是通过组合子问题的解来求解原问题。 DP中的“programming”指的是一种表格法,而非coding。 DP和分治的不同 分治步骤:(例如归并排序) 将问题划分为互不相交的子问题 递归地求解子问题 组合子问题的解,求出原问题的解 对于DP: 应用于子问题重叠的情况,即不同的子问题具有公共的子子问题(子问题的...

LeetCode 238 Product of Array Except Self

2017-03-08
阅读 2 分钟
2.4k
Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].Solve it without division and in O(n).

Leet code -- Combination Sum系列整理

2017-03-08
阅读 7 分钟
3.9k
Given a set of candidate numbers (C) (without duplicates) and a target number (T), find all unique combinations in C where the candidate numbers sums to T. The same repeated number may be chosen from C unlimited number of times.例如: [2, 3, 6, 7] and target 7

雅虎面试题-无限排序数组查找

2017-03-07
阅读 2 分钟
4.9k
You are given an infinite array A[] in which the first n cells contain integers in sorted order and the rest of the cells are filled with ∞. You are not given the value of n. Describe an algorithm that takes an integer x as input and finds a position in the array containing x, if such a position ...

排序算法终极汇总

2017-03-05
阅读 28 分钟
5.7k
本文对9种排序方法进行汇总。分别是: 插入排序 选择排序 归并排序 冒泡排序 堆排序 快排序 计数排序 基数排序 桶排序。参照《算法》第四版这本书,把排序需要的公共的方法抽象出来,做一个抽象类,讨论到的各个排序类对抽象类进行继承,只需关注与排序本身的业务逻辑即可。[链接]