基础算法
文章平均质量分 96
七元权
不会喝酒的程序员不是好的诗人
展开
-
深度学习基础-2
本文介绍了深度学习的基础知识,以全连接神经网络为例,介绍了全连接层,激活函数,交叉熵损失,计算图与反向传播,梯度消失与梯度爆炸,权重初始化,Batch Normalization。原创 2022-11-20 14:39:16 · 1221 阅读 · 1 评论 -
搞懂图论中的中心性
度中心,特征向量中心性,katz中心性和PageRank的整理原创 2022-10-30 11:07:52 · 3086 阅读 · 2 评论 -
SynthText流程解读 - 不看代码不知道的那些事
本文描述了SynthText中生成虚拟OCR数据的代码流程原创 2022-08-05 13:28:39 · 677 阅读 · 0 评论 -
图像表格实线和虚线检测
图像中的实线和虚线检测原创 2021-11-12 10:49:45 · 3226 阅读 · 0 评论 -
利用哈希表和dfs解决LeetCode 399. Evaluate Division
问题简介给定一些由变量组成的等式组,然后根据这些等式推算出所闻的等式的结果,如果无法推算,则返回-1.0。 比如:给定等式组a / b = 2.0, b / c = 3.0求出a / c = ?, b / a = ?, a / e = ?, a / a = ?, x / x = ?返回结果为[ 6.0, 0.5, -1.0, 1.0, -1.0 ]注:给定的等式组不存在原创 2018-01-07 20:48:58 · 397 阅读 · 0 评论 -
从LeetCode 210. Course Schedule II 了解拓扑排序
问题简述给定n节课,每节课按0~n-1编号。 在修某些课的时候需要有其它课的基础,必须先上先修课。现在用pair的形式来表示要先修的课,比如 [ [0,1], [1,2] ] 就表示在修课程1之前必须先修课程0,修课程2之前必须修课程1。现在需要给出一个修课的顺序,使得按照该顺序修课可以顺利得到所有学分。 现在的输入为课程数和先修的顺序,输出为修课顺序中的一种。 比如:例子1输入:原创 2018-01-05 18:49:23 · 3438 阅读 · 0 评论 -
利用bds和dfs解决 LeetCode 107. Binary Tree Level Order Traversal II
问题简述给定一棵二叉树,返回该二叉树自底向上遍历的结点值(即从左到右,自底向上) 比如给定一颗二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回的结果为[ [15,7], [9,20], [3]]解决方案解法1:广度优先遍历(BFS)最简单的想法就是先广度优先遍历,按层存值,最后倒一下~ 直接上代原创 2017-12-23 20:30:26 · 484 阅读 · 0 评论 -
利用二分法解决 leetcode 378. Kth Smallest Element in a Sorted Matrix
问题简述给定一个 n×nn \times n 的矩阵,矩阵中每行和每列的元素都按升序排列。给定一个 k(k∈[1,n2])k (k \in [1, n^2]), 求再整个矩阵中按从小到大排序为 kk 的元素。 例如:matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15]],k = 8,return 13.解题思路该矩阵的行和列都原创 2017-12-20 15:50:13 · 601 阅读 · 0 评论 -
利用回溯法解决1-9之间添加"+"或"-"或""使得运算结果为100的问题
编写一个在1,2,…,9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性。例如:1 + 2 + 34 – 5 + 67 – 8 + 9 = 100。原创 2017-08-23 12:48:17 · 5504 阅读 · 0 评论 -
LeetCode 474. Ones and Zeroes 动态规划解法+拓展
问题来源此题来源于LeetCode 474. Ones and Zeroes 在写这篇之前,我百度了一下这道题,发现已经有很多人写过这个问题了,然而大多数只是为了答题而答题,给出了代码,很少有文字解释的,也很少有深入拓展的。因此,我这次来给出一个比较详尽的版本,并且在最后对结果进行了拓展。问题简介已知一个字符串数组,数组内的字符串都是仅由0和1组成的,现在给定m个0和n个1,试问这m个0和n个1最原创 2017-08-05 18:59:14 · 1309 阅读 · 0 评论 -
基于哈希表的索引堆变形(Hackerrank: QHEAP1)
此题来自于Hackerrank中的QHEAP1问题,考查了对堆结构的充分理解。成功完成此题,对最大堆或者最小堆的基本操作实现就没什么太大问题了。原创 2017-08-19 21:25:23 · 594 阅读 · 0 评论 -
LeetCode547. Friends Circles 利用union find | bfs | dfs三种方法解决
问题来源此题来源于LeetCode547. Friend Circles,主要运用了并查集(union find)、广度优先遍历(bfs)和深度优先遍历(bfs)三种方法解决。原创 2017-08-09 19:52:43 · 1087 阅读 · 0 评论 -
利用动态规划(DP)解决 Coin Change 问题
问题来源这是Hackerrank上的一个比较有意思的问题,详见下面的链接: https://www.hackerrank.com/challenges/ctci-coin-change问题简述给定m个不同面额的硬币,C={c0, c1, c2…cm-1},找到共有几种不同的组合可以使得数额为n的钱换成等额的硬币(每种硬币可以重复使用)。 比如:给定m=3,C={2,1,3},n=4,那么共有4种原创 2017-07-29 15:13:02 · 3095 阅读 · 0 评论 -
LeetCode 309: 一个很清晰的DP解题思路
问题来源题目来源链接见下方: https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/description/问题简述:假如有一个 i 个元素的数组,数组的每个元素表示了第 i 天某只股票的价格,设计一种算法来找到利润最大的买卖方式。设计的算法必须遵守以下两条约束条件:在一天当中,只能进行“买”,“卖原创 2017-07-31 20:26:04 · 5014 阅读 · 1 评论 -
利用BFS和DFS解决 LeetCode 130: Surrounded Regions
问题来源此题来源于LEETCODE,具体问题详见下面的链接 https://leetcode.com/problems/surrounded-regions/description/问题简述给定一个包含字母 X 和 O 的二维矩阵,找到所有被 X 包围的 O 并将被包围的 O 变成 X。 比如给定如下矩阵:X X X XX O O XX X O XX O X X在运行程序后希望得到:X原创 2017-07-30 12:23:47 · 821 阅读 · 0 评论