
算法
记录一些算法题解和心得
汤圆一号
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
扑克牌里的大学问 - 插入排序算法
一. 题引应该大部分人都会打扑克牌,抓牌的时候大家都会有一个习惯性的思维,把牌按照从小到大或者从大到小的顺序摆放(当然了,有部分人不按常理出牌)。如:手上是5 6 8 9,此时抓了一个7,肯定习惯性把7放在6和8中间这就是插入排序二. 插入排序在一个有序的数据序列里面,在这个排好的序列里面插入一个数,要求插入后仍是有序的这个时候就要用插入排序。那么,我们图形的方式看下,排序是怎样做...原创 2020-03-04 10:11:30 · 358 阅读 · 0 评论 -
“擂台比武式”的归并算法
一. 关于“擂台比武”假设现在有一堆人要进行擂台比武,他们的战斗力如下:[5, 1, 6, 3, 4, 2, 8]数字越小代表战斗力越强现在采用抽签模式,两两对决,胜者进入下一轮(如果奇数,单独人员可直接晋级),情况如下:那么,如何把所有人的战斗力排名算出来呢?二. 归并算法如同擂台比武,先拆分成分各组,直到细分为单个,开始比较后合并注意点:拆分的时候要注意奇偶数的问题合...原创 2020-03-03 09:46:35 · 448 阅读 · 0 评论 -
简单明了的方式学Lru算法
一. 简介Lru全拼Least Recently Used(字面意思最少、最近使用),即最近最近使用算法,是一种常用的置换算法。通俗解释:简单点说,就是把最近未使用的予以淘汰。二. 举例说明举个例子:定义一个容器只能存储3个对象第一次:依次添加对象A、B、C ==> [A, B, C]第二次:添加对象D ==> [B, C, D]此时把第一次添加的A对象给淘汰了...原创 2020-03-02 14:54:20 · 339 阅读 · 0 评论 -
用故事的方式说Paxos和Fast Paxos算法
| Paxos1. 故事背景有一个25人的团队(Porposer:P1,P2 … P25),现在需要选举一个团队负责人(TL)有人说:可以采用投票制,但如果每个人都投自己,就会出现无解情况了…那么我们来看看Paxos是如何选举的~2. 选举方法邀请了5个评审人员(Acceptor:C1,C2,C3,C4,C5),奇数个!!同时选择一个临时负责人专门汇报情况(Leader:P1),P1...原创 2020-01-10 18:03:16 · 1309 阅读 · 0 评论 -
俄罗斯套娃?一维二维“大鱼吃小鱼”算法
|题引俄罗斯套娃是俄罗斯特产的木制玩具,一般由多个一样图案的空心木娃娃一个套一个组成,最多可达十多个,通常为圆柱形,底部平坦可以直立。颜色有红色,蓝色,绿色,紫色等。最普通的图案是一个穿着俄罗斯民族服装的姑娘,叫做“玛特罗什卡”,这也成为这种娃娃的通称(如下图所示)。|一维套娃 - 最长上升子序列正题给定一个无序的整数数组,找到其中最长上升子序列的长度如:输入: [2,6,1,9]...原创 2019-11-26 09:10:49 · 1383 阅读 · 0 评论 -
“趣味”or“烧脑”算法 之 王子救公主
| 题引相信大部分人童年都玩过大富豪这样一类的棋,棋格上面有加多少分,减多少分等等设置,比赛最终谁的分值最多(类似下面这个棋盘)| 正题设置小游戏为一个二维矩阵,王子位于左上角,公主位于右下角,每个单元格将会出现怪物或者补给怪物:打斗减血(负数表示,且为整数)补给:加血(正数表示,且为整数)王子只能往下或者往右前进,如果王子血量为0或负数,即为拯救失败,求王子至少需要多少初...原创 2019-11-20 17:21:24 · 833 阅读 · 0 评论 -
经典水池接雨水算法
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6输入: [2, 0, 2]输出: 2首先,分析一下解题思路:方...原创 2019-10-14 19:59:39 · 612 阅读 · 0 评论 -
脑洞大开的“小排列、大组合”算法
给定一个无重复元素的数组 candidates 和一个目标数 target,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。 !!!可以被重复选取说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [2,3,6,7], target = 7,...原创 2019-10-12 11:18:19 · 331 阅读 · 0 评论 -
算法入门习题集锦【leetcode】题库1
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class So...原创 2019-10-09 19:55:44 · 309 阅读 · 0 评论