自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hebtu666

少说,多做。

  • 博客(721)
  • 论坛 (1)
  • 收藏
  • 关注

原创 《三天给你聊清楚redis》第1天先唠唠redis是个啥(18629字)
原力计划

后端需要知道的关于redis的事,我保证,基本都在这里了。此文后续会改为粉丝可见,所以喜欢的请提前关注。你的点赞和评论是我创作的最大动力,谢谢。

2020-07-10 19:21:17 21193 325

原创 【精品计划2】你确定真的懂二分查找吗?带你真正入门二分
原力计划

3.1 经典二分问题经典二分问题:给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9。输出: 4解释: 9 出现在 nums 中并且下标为 4示例2:输入: nums = [-...

2020-04-19 22:39:42 20573 176

原创 【大总结3】leetcode解题总览(算法、剑指offer、SQL、多线程、shell)
原力计划

SQL大部分是付费题目,可以看我的做题记录,目前做了一半(50题),另一半我觉得做出来对我个人的提升较小了,所以暂时没有做。leetcode175. 组合两个表(SQL)leetcode176. 第二高的薪水leetcode 178. 分数排名(SQL)leetcode180. 连续出现的数字(SQL)leetcode181. 超过经理收入的员工(SQL)leetcod...

2020-03-22 18:12:35 27470 209

原创 【大总结2】大学两年,写了这篇几十万字的干货总结

本文十天后设置为粉丝可见,喜欢的提前关注不要白嫖请点赞不要白嫖请点赞不要白嫖请点赞文中提到的书我都有电子版,可以评论邮箱发给你。文中提到的书我都有电子版,可以评论邮箱发给你。文中提到的书我都有电子版,可以评论邮箱发给你。本篇文章应该算是Java后端开发技术栈的,但是大部分是基础知识,所以我觉得对任何方向都是有用的。1、数据结构数据结构是计算机存储、...

2019-12-08 15:17:20 140346 1051

原创 【精品计划1】动态规划入门到熟悉,看不懂来打我啊

持续更新。。。。。。2.1斐波那契系列问题2.2矩阵系列问题2.3跳跃系列问题3.1 01背包3.2 完全背包3.3多重背包3.4 一些变形选讲2.1斐波那契系列问题在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)根据定义,前十项为1, 1, 2, 3...

2019-11-26 11:15:40 84323 338

原创 【精品计划0】蓝桥杯 摔手机

原题描述:x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。...

2018-12-04 18:07:32 22470 201

转载 《剑指offer》全解(图文结合,通俗易懂,一篇看爽)

3. 数组中重复的数字题目链接牛客网题目描述在一个长度为 n 的数组里的所有数字都在 0 到 n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复几次。请找出数组中任意一个重复的数字。Input:{2, 3, 1, 0, 2, 5}Output:2解题思路要求时间复杂度 O(N),空间复杂度 O(1)。因此不能使用排序的方法,也不能使用额外的标记数组。对于这种数组元素在 [0, n-1] 范围内的问题,可以将值为 i 的元素调整到第 i 个位置

2020-07-26 12:09:51 2432 94

原创 leetcode771. 宝石与石头 py永远的神!

给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。示例 1:输入:nums = [12,345,2,6,7896]输出:2解释:12 是 2 位数字(位数为偶数)345 是 3 位数字(位数为奇数) 2 是 1 位数字(位数为奇数)6 是 1 位数字 位数为奇数)7896 是 4 位数字(位数为偶数) 因此只有 12 和 7896 是位数为偶数的数字示例 2:输入:nums = [555,901,482,1771]输出:1解释:只...

2020-07-19 20:41:01 642 51

原创 leetcode771. 宝石与石头

给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = "aA", S = "aAAbbbb"输出: 3示例 2:输入: J = "z", S = "ZZ"输出: 0注意: S 和 J 最多含有50个字母。 J 中的字符不重复。...

2020-07-19 20:37:36 309

原创 leetcode1119. 删去字符串中的元音 小学难度

给你一个字符串 S,请你删去其中的所有元音字母( 'a','e','i','o','u'),并返回这个新字符串。示例 1:输入:"leetcodeisacommunityforcoders"输出:"ltcdscmmntyfrcdrs"示例 2:输入:"aeiou"输出:""提示: S 仅由小写英文字母组成。 1 <= S.length <= 1000遍历或者replaceallclass Solution { publ...

2020-07-19 20:35:21 473

原创 leetcode1299. 将每个元素替换为右侧最大元素

给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。完成所有替换操作后,请你返回这个数组。示例:输入:arr = [17,18,5,4,6,1]输出:[18,6,6,6,1,-1]提示: 1 <= arr.length <= 10^4 1 <= arr[i] <= 10^5逆序遍历,记录之前答案,和当前元素比对即可。class Solution: def replace...

2020-07-19 20:32:41 270

原创 leetcode709. 转换成小写字母 最秀狼人做法(比狠多一点)

实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。示例 1:输入: "Hello"输出: "hello"示例 2:输入: "here"输出: "here"示例 3:输入: "LOVELY"输出: "lovely"一个一个的比着换,狠不狠。class Solution: def toLowerCase(self, str: str) -> str: st.

2020-07-19 20:25:24 1366 61

原创 leetcode1085. 最小元素各数位之和 py不止是字符串的神!

给你一个正整数的数组 A。然后计算 S,使其等于数组 A 当中最小的那个元素各个数位上数字之和。最后,假如 S 所得计算结果是 奇数 的请你返回 0,否则请返回 1。示例 1:输入:[34,23,1,24,75,33,54,8]输出:0解释:最小元素为 1,该元素各个数位上的数字之和 S = 1,是奇数所以答案为 0。示例 2:输入:[99,77,33,66,55]输出:1解释:最小元素为 33,该元素各个数位上的数字之和 S = 3 + 3 = 6,是偶数所以答.

2020-07-19 20:22:54 384 22

原创 leetcode1207. 独一无二的出现次数

给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。示例 1:输入:arr = [1,2,2,1,1,3]输出:true解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。示例 2:输入:arr = [1,2]输出:false示例 3:输入:arr = [-3,0,1,-3,1,1,1,-3,10,0]输出:true..

2020-07-19 20:20:05 214

原创 leetcode1491. 工资平均值 这也叫题?也太简单了吧

给你一个整数数组 salary ,数组里每个数都是 唯一 的,其中 salary[i] 是第 i 个员工的工资。请你返回去掉最低工资和最高工资以后,剩下员工工资的平均值。示例 1:输入:salary = [4000,3000,1000,2000]输出:2500.00000解释:最低工资和最高工资分别是 1000 和 4000 。去掉最低工资和最高工资以后的平均工资是 (2000+3000)/2= 2500示例 2:输入:salary = [1000,2000,3000]输.

2020-07-19 20:15:23 330 27

原创 leetcode559. N叉树的最大深度

给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。例如,给定一个 3叉树 :我们应返回其最大深度,3。说明: 树的深度不会超过 1000。 树的节点总不会超过 5000。思路见代码/*// Definition for a Node.class Node { public int val; public List<Node> children; public Node...

2020-07-19 20:12:59 195

原创 leetcode933. 最近的请求次数

写一个 RecentCounter 类来计算最近的请求。它只有一个方法:ping(int t),其中 t 代表以毫秒为单位的某个时间。返回从 3000 毫秒前到现在的 ping 数。任何处于 [t - 3000, t] 时间范围之内的 ping 都将会被计算在内,包括当前(指 t 时刻)的 ping。保证每次对 ping 的调用都使用比之前更大的 t 值。示例:输入:inputs = ["RecentCounter","ping","ping","ping","ping"], .

2020-07-19 20:10:48 197

原创 《三天给你聊清楚redis》第2天看看redis怎么被搞出来的(22036字)
原力计划

后端需要知道的关于redis的事,基本都在这里了。

2020-07-14 09:03:06 14889 186

转载 万字干货:教新手从0到1搭建完整的增长数据体系

在实际的业务中,大多数人可能只会遇到以下一种或几种常见的场景,并且对于各个细分场景,所需要解决的问题和关注重点都是不一样的。场景一:你刚加入一个成熟产品的用户增长部门,会发现业务当前有非常全面详实的用户和业务数据,但由于个人缺少数据分析的经验,面对一堆数据,除了能简要了解到产品基本情况,不知如何从数据中挖掘出更有价值的信息。 待解决问题:面对大量数据,不知如何入手分析。 所需的能力:各种可以从数据分析中找到增长线索的方法论。 场景二:你熟练掌握了基本的数据分析技能,能够基于现有数据找到增.

2020-07-14 01:00:57 4229 39

转载 (acm)C++加速输入的几种方法

1.C++IO流的同步和绑定在C++中,cin和cout的速度其实不并不慢,C++中的流的IO速度相当的快,其速度与初始设定的缓存区大小和硬盘的IO速度有关。但在C++中,为了兼容C的IO(scanf和printf),cin和cout被设置为与C的IO同步,这样导致cin和cout的速度不如scanf和printf快。另外,在默认情况下,标准输入设备(cin)与标准输出设备(cout)绑定在一起,它保证在调用输入之前已经刷新输出缓冲区,这样也会降低读取效率。所以,我们可以手动取消他们与C语言

2020-07-10 21:33:48 7125 38

转载 使用PicGo+github+jsdelivr作为图床

1.什么是图床?所谓图床工具,就是自动把本地图片转换成链接的一款工具,网络上有很多图床工具,就目前使用种类而言,PicGo 算得上一款比较优秀的图床工具。它是一款用Electron-vue开发的软件,可以支持微博,七牛云,腾讯云COS,又拍云,GitHub,阿里云OSS,SM.MS,imgur 等8种常用图床,功能强大,简单易用。这里是最新版本的项目发布地址:https://github.com/Molunerfinn/PicGo/releases如果是macos系统,请选择dmg版本下..

2020-07-10 21:32:16 377

转载 使用github+jsdelivr作为视频床

感谢JefferyIF大佬提供的神奇方法。1. 配置FFmpeg注:IOS因为不支持HLS,所以对IOS上无法正常播放视频,其他端都可以正常播放。因为脚本要使用到FFmeg对源视频文件切分成m3u8格式,所以在使用脚本之前,请配置好FFmpeg,去官网下载并配置好环境变量。下载地址:http://ffmpeg.org/download.html#build-windows选择对应的系统下载,比如我的系统是win10的,就下载window版本的文件。然后,进入环境变量的设置中,找到p.

2020-07-10 21:30:25 537 1

原创 一篇文章揭穿创业公司的套路

初衷每个初入社会的求职者,都曾经有过找工作被坑的经历。总结了以下潜台词,如果你能全部GET到,那么恭喜你,已被老板们拉入黑名单。核心「工资4k - 8k」——那工资就是4k「工资上不封顶」——就是说说而已,没人会给你一个月一百万月薪的「美女如云」——我司没有福利,你们员工自己互相给福利吧「大牛云集」——有两个稍微有点经验的程序员「需要你有一定抗压能力」——需要你自愿加班「不强制加班」——需要你自愿加班「弹性工作时间」——上班不弹,下班弹,而且只往后半夜弹「可提供有竞争力的薪酬」

2020-07-10 15:05:32 2119 29

原创 leetcode700. 二叉搜索树中的搜索

给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如,给定二叉搜索树: 4 / \ 2 7 / \ 1 3和值: 2你应该返回如下子树: 2 / \ 1 3在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。就是搜索树的查找。/**...

2020-07-05 16:34:44 313 2

原创 leetcode645. 错误的集合

645. 错误的集合难度简单98集合S包含从1到n的整数。不幸的是,因为数据错误,导致集合里面某一个元素复制了成了集合里面的另外一个元素的值,导致集合丢失了一个整数并且有一个元素重复。给定一个数组nums代表了集合S发生错误后的结果。你的任务是首先寻找到重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。示例 1:输入: nums = [1,2,2,4]输出: [2,3]注意:给定数组的长度范围是[2, 10000]。 给定的数组是无序的。记录出...

2020-07-05 16:20:57 269 1

原创 leetcode485. 最大连续1的个数 *py:“又是一行就解决了,没意思”

给定一个二进制数组, 计算其中最大连续1的个数。示例 1:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意:输入的数组只包含0 和1。输入数组的长度是正整数,且不超过 10,000。思路:先拼成字符串,然后按0分割,再取最大长度即可。class Solution: def findMaxConsecutiveOnes(self, nums: List[int]) -> int: .

2020-06-25 16:48:04 7476 99

原创 leetcode面试题 02.08. 环路检测

给定一个有环链表,实现一个算法返回环路的开头节点。有环链表的定义:在链表中某个节点的next元素指向在它前面出现过的节点,则表明该链表存在环路。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node index 1解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:tail connects to node index 0解释:链表中有一个环,其尾部连接到第一个

2020-06-14 18:41:13 485 1

原创 leetcode445. 两数相加 II

给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。进阶:如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。示例:输入:(7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 8 -> 0 -> 7思路:放入栈中再相加。/** * Definit

2020-06-06 02:57:40 7574 54

原创 【精品计划 附录2】- 算法分析

数学模型1. 近似2. 增长数量级3. 内循环4. 成本模型注意事项1. 大常数2. 缓存3. 对最坏情况下的性能的保证4. 随机化算法5. 均摊分析ThreeSum1. ThreeSumSlow2. ThreeSumBinarySearch3. ThreeSumTwoPointer倍率实验数学模型1. 近似N3/6-N2/2+N/3 ~ N3/6。使用 ~f(N) 来表示所有随着 N 的增大除以 f(N) 的结果趋近于 1 的函数。2. 增长..

2020-05-31 17:06:26 10981 78

原创 cpp知识汇总(1) 指针vs引用、static、const

引用和指针的区别?指针是一个实体,需要分配内存空间。引用只是变量的别名,不需要分配内存空间。 引用在定义的时候必须进行初始化,并且不能够改变。指针在定义的时候不一定要初始化,并且指向的空间可变。(注:不能有引用的值不能为NULL) 有多级指针,但是没有多级引用,只能有一级引用。 指针和引用的自增运算结果不一样。(指针是指向下一个空间,引用时引用的变量值加1) sizeof 引用得到的是所指向的变量(对象)的大小,而sizeof 指针得到的是指针本身的大小。 引用访问一个变量是直接访问,而指针访

2020-05-31 15:05:34 2225 43

转载 互联网30年,泡沫如梦

人人都说互联网改变世界,这话没错。但我认为互联网改变的方式,是泡沫。资金,资源,人才因为一堆概念聚在一起,形成一个又一个的泡沫,然后泡沫破裂,大部分人失败,少数能够留下来的,会成为下一个世界的基石。然后再有新的泡沫产生。互联网的历史,就是泡沫浮起和破灭的历史。11993年,美国白宫宣布开始提供“在线服务”,在场的记者面面相觑,不知 “在线服务”和“电话服务”有什么区别。不久,联合国也宣布提供“在线服务”,后知后觉的新闻媒体猛然意识到这或许...

2020-05-31 13:48:46 2895 23

转载 【中国互联网江湖30年历史】再无风清扬,再有少年郎

0马云退了。在萧山奥体中心,无数阿里人的祝福中,流着眼泪,结束了自己在阿里的最后一天。从此互联网江湖再无风清扬,反而多了一个叫做马云的乡村教师。他临别一挥手,似乎带走了中国互联网的一个时代。20年浮沉,都付笑谈中。30年的中国互联网发展史,或许到了一个需要回头看的节点。1一切的开始,是在80年代。1987年9月14日21时07分,中国第一封电子邮件发出。内容为:Across the Great Wall we...

2020-05-31 12:04:02 7457 50

原创 leetcode359. 日志速率限制器

请你设计一个日志系统,可以流式接收日志以及它的时间戳。该日志会被打印出来,需要满足一个条件:当且仅当日志内容在过去的 10 秒钟内没有被打印过。给你一条日志的内容和它的时间戳(粒度为秒级),如果这条日志在给定的时间戳应该被打印出来,则返回true,否则请返回false。要注意的是,可能会有多条日志在同一时间被系统接收。示例:Logger logger = new Logger();// 日志内容 "foo" 在时刻 1 到达系统logger.shouldPrintMessag...

2020-05-30 17:44:57 9009 84

原创 leetcode412. Fizz Buzz

写一个程序,输出从 1 到 n 数字的字符串表示。1. 如果n是3的倍数,输出“Fizz”;2. 如果n是5的倍数,输出“Buzz”;3.如果n同时是3和5的倍数,输出 “FizzBuzz”。示例:n = 15,返回:[ "1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz", "11", "Fizz",...

2020-05-30 17:33:43 8507 53

转载 leetcode258. 各位相加

给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。示例:输入: 38输出: 2解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于2 是一位数,所以返回 2。进阶:你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗?时间复杂度为O(1)的解法:除个位外,每一位上的值都是通过(9+1)进位的过程得到的,想一下拨算盘进位把整数n看成n样物品,原本是以10个1份打包的,现在从这些10个1份打包好的里面,拿出1个,让它们以9..

2020-05-30 17:13:03 1787 6

原创 leetcode193. 有效电话号码 正则了解一下

给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个 bash 脚本输出所有有效的电话号码。你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxxx 或xxx-xxx-xxxx。(x 表示一个数字)你也可以假设每行前后没有多余的空格字符。示例:假设file.txt内容如下:987-123-4567123 456 7890(123) 456-7890你的脚本应当输出下列有效的电话号码:987-123-4567(123) ...

2020-05-30 17:11:00 430

原创 leetcode369. 给单链表加一

用一个 非空 单链表来表示一个非负整数,然后将这个整数加一。你可以假设这个整数除了 0 本身,没有任何前导的 0。这个整数的各个数位按照 高位在链表头部、低位在链表尾部的顺序排列。示例:输入: [1,2,3]输出: [1,2,4]思路:help():计算本位的数字,然后返回进位(0或1)plusOne():因为help方法无法判断自己是否是最高位,所以在本方法中做一下处理。如果有进位,就再加一位最高的1即可。/** * Definition for singly-li.

2020-05-30 14:21:50 492

原创 leetcode557. 反转字符串中的单词 III python,处理字符串的神!

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例1:输入: "Let's take LeetCode contest"输出: "s'teL ekat edoCteeL tsetnoc"注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。思路:python处理,先split分割为列表,再用列表生成式把每一项翻转,再用join拼起来即可。class Solution: def reverseWords(self,..

2020-05-28 23:43:26 10103 97

原创 【精品计划 附录1】那些必须知道的神级算法大盘点
原力计划

第一节1.1bogo排序Bogo排序(Bogo-sort),又被称为猴子排序,是一种恶搞排序算法。将元素随机打乱,然后检查其是否符合排列顺序,若否,则继续进行随机打乱,继续检查结果,直到符合排列顺序。Bogo排序的最坏时间复杂度为O(∞),一辈子也不能输出排序结果,平均时间复杂度为O(n·n!)。这让我想到了另一个理论:猴子理论,只要让一只猴子一直敲打计算机,理论上会有一天,它能敲出一本圣经出来,但是这个概率小到宇宙毁灭也很难敲出来。。真的不知道这个排序应该叫做天才还是垃圾哈哈哈,但是

2020-05-25 08:48:38 19548 156

原创 c++ STL迭代器实例

1、vector#include <iostream>#include <vector>using namespace std;int main(int argc, char* argv[]){ // Create and populate the vector vector<int> vecTemp; for (int i = 0; i<6; i++) { vecTemp.push_back(i); } // Dis

2020-05-22 09:58:01 1799 33

空空如也

hebtu666的留言板

发表于 2020-01-02 最后回复 2020-07-14

空空如也

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

TA关注的人 TA的粉丝

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