SF
来刷算法
来刷算法
注册登录
关注博客
注册登录
主页
关于
RSS
LC729. My Calendar I
proheart
2022-10-12
阅读 1 分钟
817
[链接]MediumGoogle, Uber, Amazon, Twitch {代码...}
LC 2034. Stock Price Fluctuation
proheart
2022-10-12
阅读 2 分钟
744
MediaGoogle[链接] {代码...}
LC 2096. Step-By-Step Directions From a BT Node to Another
proheart
2022-10-12
阅读 3 分钟
563
MediumGoogle, Amazon, Microsoft, Tiktok[链接]方法一,两遍BFS,第一遍构造parent表,同时定位到start节点和end节点,第二遍从start节点BFS,找到end节点,同时保存路径,该方法超时。
LC818 Race Car
proheart
2022-10-12
阅读 3 分钟
1.1k
[链接]HardGoogle, Amazon第一种解法使用BFS {代码...} 第二种解法,DPdp[target] 表示行驶长度为target的距离需要的最小指示个数。dp[target]有两种可能:target刚好是由"AAA...A"一共n步到达,也就是一路加速,那么这种走法就是最优选择。如果不是上述情况,就有多种可能: a.第一次冲过target的时候进行'R'操作,然后...
归并排序的扩展问题
proheart
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估算时间复杂度
proheart
2022-01-17
阅读 3 分钟
2.6k
使用树状分析图可以帮助我们剖析递归行为。使用Master Theorem及其推论(也称主定理)可以方便的估算某些递归的时间复杂度。这里主要针对第二个问题,如何针对某类递归,使用master公式估算时间复杂度。
算法之异或操作
proheart
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数组中有一列数字,其中...
欧几里得算法
proheart
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实现线索化二叉树并遍历(前序,中序,后序)
proheart
2020-06-28
阅读 8 分钟
3k
{代码...} {代码...} {代码...}
Java数组实现顺序存储二叉树,进行前中后序遍历
proheart
2020-06-25
阅读 2 分钟
2.2k
{代码...}
走迷宫问题Java递归
proheart
2020-06-11
阅读 2 分钟
2.2k
{代码...}
中缀表达式转后缀表达式并计算结果Java实现
proheart
2020-06-08
阅读 4 分钟
2.8k
{代码...}
用堆栈实现后缀表达式的计算
proheart
2020-06-07
阅读 2 分钟
1.4k
{代码...}
用堆栈实现中缀表达式的计算2
proheart
2020-06-07
阅读 3 分钟
1.3k
{代码...}
用单链表实现堆栈
proheart
2020-06-07
阅读 3 分钟
1.3k
{代码...} {代码...}
用数组实现堆栈
proheart
2020-06-07
阅读 3 分钟
1.4k
{代码...}
用堆栈实现中缀表达式的计算
proheart
2020-06-07
阅读 3 分钟
2.3k
{代码...}
约瑟夫环Java实现
proheart
2020-06-04
阅读 3 分钟
2.4k
{代码...} 参考: 韩顺平老师的数据结构
数组实现环形队列Java
proheart
2020-06-01
阅读 5 分钟
5.8k
用数组实现环形队列的特点是高效。 能快速判断队列是否 满/空; 能快速存取数据。 因为简单高效,所以甚至在硬件中都实现了环形队列。 环形队列广泛应用于网络数据的收发,和不同应用间数据交换(内核和应用程序大量交换数据,从硬件接受大量数据) 内存上没有环形结构,因此环形队列实际上用数组的线性空间来实...
LC 08 String to Integer (atoi)
proheart
2020-03-05
阅读 2 分钟
1k
字符串转整数 字符串开头可能有很多空格,忽略之,直到找到第一个不是空格的字符。 第一个非空格字符可能是加号,减号,表示正数或负数。 继续向后碰到0-9就解析,碰到其他字符就终止。 若第一段连续数字为空,返回0. 如果整数大于Integer.MAX_VALUE,返回MAX_VALUE;若小于Integer.MIN_VALUE,返回MIN_VALUE。 {代码...}
Leetcode 1278. Palindrome Partitioning III
proheart
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
proheart
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
proheart
2019-12-19
阅读 3 分钟
2.9k
Given an array arr of positive integers, consider all binary trees such that:
1.斐波那契数列和DP的关系
proheart
2019-12-05
阅读 2 分钟
2k
用斐波那契数列来过度,结合油管上一个讲得比较好的tutorial,感受一下递归-->记忆化搜索-->dp的过程。以下是斐波那契数列的各个solution的实现。
LeetCode (Google) 679 _24Game
proheart
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
proheart
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
proheart
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
proheart
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-无向图详解
proheart
2017-03-24
阅读 24 分钟
14.8k
四种重要的图模型: 无向图(简单连接) 有向图(连接有方向性) 加权图(连接带有权值) 加权有向图(连接既有方向性又带有权值) 无向图 定义:由一组顶点和一组能够将两个顶点相连的边组成。 特殊:自环(一条连接一个顶点和其自身的边);平行边(连接同一对顶点的两条边) 数学家将含有平行边的图称为多重图;将没...
算法导论笔记动态规划DP详解-钢条切割的分析与实现
proheart
2017-03-17
阅读 11 分钟
9.5k
DP和分治的相似 都是通过组合子问题的解来求解原问题。 DP中的“programming”指的是一种表格法,而非coding。 DP和分治的不同 分治步骤:(例如归并排序) 将问题划分为互不相交的子问题 递归地求解子问题 组合子问题的解,求出原问题的解 对于DP: 应用于子问题重叠的情况,即不同的子问题具有公共的子子问题(子问题的...
1
(current)
2
下一页
1
(current)
下一页