LC729. My Calendar I

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

LC 2034. Stock Price Fluctuation

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

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

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

LC818 Race Car

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

归并排序的扩展问题

2022-01-18
阅读 3 分钟
1.2k
在一组数组中,每一个数左边比当前数小的数累加起来,叫作这个数组的小和。求一个数组的小和。例子:[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.6k
使用树状分析图可以帮助我们剖析递归行为。使用Master Theorem及其推论(也称主定理)可以方便的估算某些递归的时间复杂度。这里主要针对第二个问题,如何针对某类递归,使用master公式估算时间复杂度。

算法之异或操作

2022-01-16
阅读 2 分钟
1.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 分钟
934
欧几里得算法辗转相除法,计算两个非负整数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 分钟
3k
{代码...} {代码...} {代码...}

走迷宫问题Java递归

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

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

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

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

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

用单链表实现堆栈

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

用数组实现堆栈

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

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

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

约瑟夫环Java实现

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

数组实现环形队列Java

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

LC 08 String to Integer (atoi)

2020-03-05
阅读 2 分钟
1k
字符串转整数 字符串开头可能有很多空格,忽略之,直到找到第一个不是空格的字符。 第一个非空格字符可能是加号,减号,表示正数或负数。 继续向后碰到0-9就解析,碰到其他字符就终止。 若第一段连续数字为空,返回0. 如果整数大于Integer.MAX_VALUE,返回MAX_VALUE;若小于Integer.MIN_VALUE,返回MIN_VALUE。 {代码...}

Leetcode 1278. Palindrome Partitioning III

2019-12-23
阅读 3 分钟
2.1k
You are given a string s containing lowercase letters and an integer k. You need to :

LeetCode 1292 Maximum Side Length of a Square

2019-12-20
阅读 3 分钟
2k
Given a m x n matrix mat and an integer threshold. Return the maximum side-length of a square with a sum less than or equal to threshold or return 0 if there is no such square.

Leetcode 1130 Minimum Cost Tree From Leaf Values

2019-12-19
阅读 3 分钟
2.9k
Given an array arr of positive integers, consider all binary trees such that:

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

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

LeetCode (Google) 679 _24Game

2018-04-21
阅读 2 分钟
2.5k
You have 4 cards each containing a number from 1 to 9. You need to judge whether they could operated through *, /, +, -, (, )to get the value of 24.

LeetCode (Google) 541 _ 01 Matrix

2018-04-21
阅读 2 分钟
1.5k
Given a matrix consists of 0 and 1, find the distance of the nearest 0 for each cell.

LeetCode(Google) 0276 Paint Fense

2018-04-21
阅读 1 分钟
1.8k
There is a fence with n posts, each post can be painted with one of the k colors.

LeetCode(Google) 0247 Strobogrammatic Number 2

2018-04-21
阅读 1 分钟
2.1k
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down).

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

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

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

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