自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 写给小白的分布式系统简介

如果你从事后台开发,你或许会接触到分布式系统的相关概念,但可能你对分布式系统还没有一个整体的认知。本文从一个简单的单体应用入手,帮你建立起对分布式系统的整体概念,希望能给你一些学习分布式系统的“方向感”。以下是本文的大纲。以上通过一个简单的图片托管服务的例子,大致讲解了从单体应用到分布式系统的演变过程,涉及到了分布式系统的一些基本概念和策略。实际上根据具体业务,分布式系统要复杂的多,也并不是每一个分布式系统都会用到分布式系统所有的理论和策略。对于一些已有架构的系统而言,分布式的演变也是一步一步慢慢进行的。

2023-05-01 13:45:46 148

原创 leetcode题目-战争和摩尔投票有什么关系?

微信搜索:pipi的奇思妙想解锁更多有趣的动画~这是一道leetcode上的题目,题目链接戳:多数元素题目描述解法这道题的解法有很多,在这里解释一种比较特别的方法:摩尔投票法。这里有个小视频说明了摩尔投票~题目中我们需要查找的数字超过数组长度的一半,也就是说,要查找的数字target的个数会超过其他数字个数。假设不同数字相互抵消,那么最后剩下的数字,就是我们要找的多数元素。我们可以把这个过程打个比方,比如现在多军对峙,假设阵营A士兵人数比其他方的人数都多,阵营A士兵能以一杀一,那么只要

2021-05-13 11:50:43 230

原创 春招必备MySQL高频面试题 - 关于索引的那些事

在文章MySQL 高频面试题 - 为什么 B+ 树比 B 树更适合应用于数据库索引?中我们了解了,在InnoDB存储引擎中,MySQL的索引底层之一是B+树。那么具体索引树中是怎么组织数据的呢?什么是聚集索引(或者叫做聚簇索引),什么是覆盖索引呢?什么又是最左匹配原则呢?我们继续来探索关于面试中索引的那些常考点。更多技术面试系列,欢迎关注微信公众号:pipi的奇思妙想本文目录正文主键索引和普通索引有什么区别我们在建一些需要明确有唯一标识字段的表的时候通常都会显示的建立主键索引,例如crea

2021-02-22 18:00:29 308

原创 Mysql高频面试题 -为什么 B+ 树比 B 树更适合应用于数据库索引?

Mysql数据库面试问题系列持续更新,想追更请关注微信公众号:pipi的奇思妙想你可能已经知道B+树被用于Mysql的索引底层实现,那么,为什么是B+树呢?本文由浅及深,带你探索数据库索引底层实现。由一个例子总结索引的特点加索引是数据库加速查询的一种方式,那么为什么用索引可以加快查询呢?讲到索引,其实我们经常会听到一个图书馆的例子,图书馆里的书目繁杂,我们如何从若干本书里面找到一本我们想要的书呢?我们根据图书馆系统检索,可以找到某本书对应的图书编号。在基于书籍按照一定规则排列的前提下,我们

2020-12-17 22:42:35 490

原创 Mysql面试题系列-什么是crash-safe能力?什么是两阶段提交?

Innodb的crash-safe,以及redo log 和binlog的2pc提交方式Innodb引擎具有crash-safe能力,这种crash-safe 能力,是通过引擎层的redo log 来实现的一、redo log是什么事务在提交写入磁盘前,会先写到redo log里面去,再写入磁盘,这样即使Mysql 进程异常重启了,系统也会自动去检查redo log,将未写入到Mysql的数据从redo log恢复到Mysql中去。(个人理解)为什么不直接写到Mysql中去?这是因为数据写到Mysq

2020-07-10 18:28:20 3664 7

原创 超可爱!动画教你如何删除链表的倒数第n个结点

这是leetcode上一道题目:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/comments/对于链表类题目,对某一个特定索引的元素进行操作往往会成为增加时间复杂度的瓶颈,因此如何使用尽可能少的遍历次数寻找到所要操作的元素就成为减少时间复杂度的关键。比如这道题,由于我们不知道链表的长度,并且只能从头部开始遍历,假设我们不运用任何技巧,两次遍历可以解决这个问题。第一次遍历可以得知链表的长度L,第二次遍历从头找到L

2020-06-14 19:03:38 363

原创 教你用浪漫的方式找到两个单链表相交的起始节点

你以为我打算讲算法,其实我准备讲爱情…故事的开始,是一道算法题:题目:如何找到两个单链表相交的起始节点。要求:如果两个链表没有交点,返回 null.在返回结果后,两个链表仍须保持原有的结构。可假定整个链表结构中没有循环。程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。题目链接:https://leetcode-cn.com/problems/intersection-...

2020-04-19 18:56:29 429

原创 以前我不懂并查集,直到看了古惑仔...

今天我们来讲讲并查集什么是并查集?事实上并查集并不难,pipi用一个生动的例子带你了解并查集。 古惑仔之有趣的并查集~ 在这个视频例子中, 我们主要需要解决几个问题:1.如何判断两个小弟(小a和小c)是否在同一个帮2.如何合并两个帮派我们来解析例子:我们通过例子从以下...

2020-03-22 12:45:01 511

原创 为了解决笔记本外接显示器导致Ubuntu显示异常的问题,我做了这么多事情...

问题描述:我的笔记本电脑外接了一个显示器,本来以为和Windows下一样,笔记本显示器和外接显示器会同步显示,结果ubuntu下外接显示器和笔记本显示不一致,感觉像是被强制分屏了。体验非常不好,感觉还影响了I/O设备,把外接显示器拔了结果鼠标和键盘都不太能动了,重启在没外接显示器的前提下鼠标和键盘才恢复正常。问题解决方案:一.关闭笔记本显示器上网查了一下,发现网上这篇文章https://...

2020-03-15 16:46:17 1775

原创 一个视频让你明白如何判断一个链表是否有环,绝对生动形象

这其实是一个披着算法题外衣的xxxx视频…题目:如何判断一个链表是否有环题目链接:https://leetcode-cn.com/problems/linked-list-cycle/(题目描述如标题…相信你一看就知道了,就不放题目描述了…)解法一:(非o(1)空间复杂度解法)遍历链表,每次遍历到一个新的结点时,判断该结点是否在集合set中,如果在集合set中说明链表有环,否则记录在se...

2020-03-12 22:56:02 331

原创 leetcode122题目:贪心算法

题目:给出每天股票的价格列表,求买卖股票的最大收益。限制:每天只能持有1股,可以买进和卖出无数次leetcode122题目贪心算法介绍:关键总结:在对问题求解时,总是做出在当前看来是最好的选择与动态规划的区别:贪心算法对子问题的解决方案都做出选择且不能回退,而动态规划则是保存以前子问题的结果,并根据以前的结果对当前的问题进行选择,相当于相对贪心算法动态规划有回退功能。适用场景:...

2020-03-07 21:24:09 432

原创 leetcode题目:求一个非负数n的平方根

题目:leetcode69题求一个非负数n的平方根算法思路:核心思想:二分查找在1到n中进行查找,每次取中间元素mid求平方,如果求的平方值等于n或者求的平方值小于n且mid+1的平方值大于n,说明找到了目标值;如果mid+1的平方值大于n,说明应该在左边部分查找,否则在右边部分继续查找代码如下:class Solution(object): def mySqrt(self,...

2020-03-07 21:23:32 631

原创 leetcode题目:众数相关

题目:leetcode169给定一个长度为n的数组,求其中出现次数超过n/2次的元素,题目规定该元素必定存在。算法思路方法一:以数组元素为key,出现次数为value,遍历数组,将每个元素出现的次数记录在字典中,然后求字典中统计次数最大的key值。时间复杂度为o(n),用到了字典,所以空间复杂度也是o(n)代码如下:class Solution(object): def m...

2020-03-07 21:22:43 342

原创 leetcode题目:寻找二叉搜索树中两个结点的最近公共父结点

寻找二叉搜索树的两个结点的最近公共父结点一、二叉搜索树定义是指一棵空树或者具有下列性质的二叉树:若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值;任意节点的左、右子树也分别为二叉查找树;没有键值相等的节点参考链接:维基百科[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img...

2020-03-07 21:21:09 519

原创 数独的一种实现方法

本文首发于我的简书账号,最近迁移到csdn博客、最近想学学算法,无意中从书中看到对一些小游戏的分析和算法实现,其实也是蛮有意思的。今天我们来讲一讲数独。首先我们来简单介绍下数独的规则。标准的数独是一个由99个1-9数字组成的矩阵,其中矩阵中的数字需满足:1)每个数字所在的每一行、每一列的数字都不能重复。2)每个数字所在的33矩阵的数字都不能重复。3)所填的数字范围需为1-9的整数...

2020-03-07 14:50:10 1666

原创 leetcode上的题目:两数之和

本文首发于我的简书账号,最近迁移到csdn博客leetcode上的一道题目:两数之和:https://leetcode-cn.com/problems/two-sum/两数之和给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 n...

2020-03-07 14:41:52 381

原创 Python 引用、浅复制和深复制

在python中,一切皆对象。python 引用先来看一个例子a={1:{2:3}}b=ab[1][2]=4print("b=%s a=%s"%(b,a))输出结果b={1:{2:4}} a={1:{2:4}} 即 修改了b,a的值也被修改了这是因为在python中,b 和 a 指向相同的地址空间,b并不是一个新的对象,所以改变b的值也会改变a的值。这种设计的方便在于,只...

2020-03-07 14:34:11 337

原创 python 动态编译执行字符串代码

文章首发于我的简书账号,最近迁移到csdn博客python 中compile()方法支持将代码字符串编译为字节码,exec()方法可以执行代码字符串或者通过compile()转化的字节码。compile()https://www.runoob.com/python/python-func-compile.htmlexec()https://www.runoob.com/python/p...

2020-03-07 14:31:27 941

原创 一个视频让你明白什么是递归

什么是递归?这里有一个形象的解释~电影院里,有人问你你坐在第几排,你懒得数,于是你问坐在你前一排的人他坐在第几排,这样在他回答的排数上加一你就可以知道你坐在第几排了。坐在你前一排的人也懒得数,于是就继续去问坐在他前一排的人相同的问题,这样一直下去直到问到坐在第一排的老哥,第一排的老哥当然会告诉你他坐在第一排。于是这个消息会从第一排开始一排一排再传回到你这里,当然每个接受到这个消息的人会在这个结果...

2020-03-06 23:50:35 935

原创 面试题:python2类继承object和不继承object有什么区别

​python2中定义类时继承object和不继承object有什么区别?stackoverflow上也有人提出了这样的问题:https://stackoverflow.com/questions/332255/difference-between-class-foo-and-class-fooobject-in-python首先说明,这个区别只存在于python2,pyt...

2020-03-06 23:41:37 610

原创 python:unsupported format character

我的博客belinda’s blog问题描述语言:python在工作中遇到一个问题,示例如下:def f(str,value1,value2): str1=str.replace("%:t",value1) str2=str1%(value2) return str2str赋值示例str="%:t这是一个字符串%s"这样当被替换过部分字符的字符串str1再...

2019-09-20 15:42:06 3441

原创 关于密室逃脱的思考

看到朋友圈有人去玩密室,于是和室友组了个局去玩密室。4个人去玩,结果下来出乎意料的开心,出了密室还在孜孜不倦的讨论线索。一件事情能让人觉得有趣,我觉得有几个方面的原因:1.生理上有愉悦感,例如吃饭2.社交属性新的朋友可以带来新的世界,了解看似熟悉的人也可以看到新的世界3.成就感发现自己某件事情做得好就会更加热衷于去做;其实成就感有一些也是建立在社交上面的,在一个团体中,能够展现自...

2019-09-20 15:29:26 1109

原创 linux下web开发中遇到的404问题

文章首发于 我的博客-linux下web开发中遇到的404问题问题:web开发,请求的接口为http://www.xxxx.com/zzzz一请求报404错误说明:提供的接口没有问题操作系统:linux查找原因:先ping域名,发现ping不通猜想是不是没有配置外网ping baidu.com发现依然是ping不通直接ping 任意生效ip,发现可以ping通,说明网络连...

2019-09-13 18:54:46 780

原创 github page+hexo 绑定域名后页面显示404

文章首发于 我的博客我用的站点生成框架是 Hexo。想为自己的github page 绑定一个自己的域名,在阿里云申请了一个域名,在github page项目的setting 页面,绑定了自己的域名,过了一会儿发现可以访问了。在部署上传新的文章后,访问变成了404于是排查问题,发现setting页面绑定域名的那一栏忽然变成了空,然后发现github page项目上根目录下的CNAME文...

2019-09-08 19:36:30 3396 2

原创 TortoiseSVN 汉化

帮同事解决的svn语言默认是英文的问题安装的TortoiseSVN语言默认是英文,事实上官方已经提供了很多不同语言的语言包,下载需要的语言包然后安装就可以切换到需要的语言了下载TortoiseSVN对应版本的语言包右键TortoiseSVN->about 查看当前TortoiseSVN版本 去官网下载对应版本的语言包https://tortoisesvn.net/downloads....

2019-09-03 15:08:31 2451

原创 chrome拦截广告的插件Adblock Plus

Adblock Plus 是Chrome一款拦截广告的插件安装在chrome浏览器中打开https://chrome.google.com/webstore/category/extensions搜索Adblock Plus点击安装 几分钟之后自动完成下载安装有一个这样的标志就算完成安装了效果当打开一个有广告的页面时,Adblock Plus会自动拦截广告,显示拦截广告数量...

2019-08-30 16:08:08 693

原创 剑指offer上关于树的题目汇总

树的题目通常可以用递归解决,递归过程的本质是栈,因而理论上递归也可以用循环加堆栈(或者队列)解决关于递归递归非常容易让人思路混乱,看到网上有一种思路觉得很有用,就是假设子问题已经完美处理,你只需思考最终问题的处理思路,子问题的处理思路和最终问题的处理思路一样,这样思路就会清晰很多。以下代码示例均为python版本题目一:从上往下打印二叉树题目描述:从上往下打印出二叉树的每个节点,同层节...

2019-08-23 14:16:55 343

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除