自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Nanobobo在学习

带你去看春天里的油菜花

  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 【剑指offer38】全排列问题-递归的运用

输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入:s = "abc"输出:["abc","acb","bac","bca","cab","cba"]限制:1 <= s 的长度 <= 8关于深度优先遍历的考察,这个题目很典型。虽然刚开始已经把递归树画出来了,但是在写代码时候还是没有写出来。关键是理解:字符串的全排列,要确定好每个位置上的字符。对于重复的结果使用set进行去重。方法一...

2021-06-22 23:44:01 94 2

原创 【739】单调栈应用

请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用0 来代替。例如,给定一个列表temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是[1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是[1, 30000]。每个气温的值的均为华氏度,都是在[30, 100]范围内的整数。翻译一下题目:给定一个...

2021-06-22 23:33:56 96

原创 【72】编辑距离问题

给你两个单词word1 和word2,请你计算出将word1转换成word2 所使用的最少操作数。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例1:输入:word1 = "horse", word2 = "ros"输出:3解释:horse -> rorse (将 'h' 替换为 'r')rorse -> rose (删除 'r')rose -> ros (删除 'e')示例2:输入:word1 = "in...

2021-06-21 23:54:51 90

原创 【215】第K个大的数,K相关题目-分治、堆应用

1、从大到小第K个数在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4题目要求是求得从大到小第K个数。首先想到的是对数组排序,直接sort()取k-1个数。复杂度为O(NlogN).方法二:根据快排中partition的思想,进行分治,,存在情况..

2021-06-21 23:43:37 108

原创 【146】LRU缓存机制

运用你所掌握的数据结构,设计和实现一个LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value)如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存容量达到上限时,它应该在写入新数据之前删除...

2021-06-20 23:08:47 77 1

原创 【204】质数统计

统计所有小于非负整数n的质数的数量。示例 1:输入:n = 10输出:4解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例 2:输入:n = 0输出:0示例 3:输入:n = 1输出:0提示:0 <= n <= 5 * 106shouxian...

2021-06-20 09:38:25 106

原创 【231】判断是否是2的次幂--位运算相关

给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。如果存在一个整数 x 使得n == 2x ,则认为 n 是 2 的幂次方。示例 1:输入:n = 1输出:true解释:20 = 1示例 2:输入:n = 16输出:true解释:24 = 16示例 3:输入:n = 3输出:false示例 4:输入:n = 4输出:true示例 5:输入:n = 5输出:false来源:力扣(LeetCo...

2021-05-30 11:15:58 243

原创 【75】颜色分类--荷兰国旗问题

给定一个包含红色、白色和蓝色,一共n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、1 和 2 分别表示红色、白色和蓝色。示例 1:输入:nums = [2,0,2,1,1,0]输出:[0,0,1,1,2,2]示例 2:输入:nums = [2,0,1]输出:[0,1,2]示例 3:输入:nums = [0]输出:[0]示例 4:输入:nums = [1]输出:[1]提示:n ...

2021-05-30 10:42:17 55

原创 【39】组合总和--回溯

这是一类题目,最近几天刷题总碰见递归or回溯类型题目。虽然递归解决办法是最基础的方案,但是面对某些题目,有时候还是不能立刻设计出最基础的递归方案---1 如何设置终止条件。越界?or 满足条件时候的处理2 分情况往下递归的时候:如何往下写呢?3 另外对于回溯最重要的 剪枝处理。大多数题目原始递归会超时,剪枝处理可以使得题目运行时间达标一、回溯应用给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target...

2021-04-26 23:47:23 59

原创 【26】删除有序数组中的重复选项

给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝int len = removeDupl..

2021-04-18 20:08:49 72 1

原创 【220】【3】滑动窗口(双指针)的应用,另有序的容器应用

一、绝对值不超过限制的最长连续子数组的长度给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。如果不存在满足条件的子数组,则返回 0 。示例 1:输入:nums = [8,2,4,7], limit = 4输出:2通过维护一个动态窗口,在滑动窗口中快速的求出最大值与最小值,若满足limit限制。求滑动窗口的大小。这里通过left、right两个指针维护滑窗,注...

2021-04-18 19:58:04 94

原创 【227】基本计算器II--无括号的加减乘除计算器

给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。整数除法仅保留整数部分。示例 1:输入:s = "3+2*2"输出:7示例 2:输入:s = " 3/2 "输出:1示例 3:输入:s = " 3+5 / 2 "输出:5提示:1 <= s.length <= 3 * 105s 由整数和算符 ('+', '-', '*', '/') 组成,中间由一些空格隔开s 表示一个 有效表达式表达式中的所有整数都是非负整数,且在范围 ...

2021-03-11 23:53:49 268

原创 【224】基本功能计算器

昨天加班回来有点晚,做完题,没有来得及写记录。今天补一下昨天的题解。给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值示例 1:输入:s = "1 + 1"输出:2示例 2:输入:s = " 2-1 + 2 "输出:3示例 3:输入:s = "(1+(4+5+2)-3)+(6+8)"输出:23提示:1 <= s.length <= 3* 105s 由数字、'+'、'-'、'('、')'、和 ' ' 组成s 表示一个有效的表达式..

2021-03-11 23:36:33 68

原创 【1047】删除字符串中的所有相邻重复项

力扣第二天,今天遇到一道easy,不用cv我也做出来,(手动狗头)。刻意+坚持给出由小写字母组成的字符串S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例:输入:"abbaca"输出:"ca"解释:例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其..

2021-03-09 22:45:29 60

原创 【132】求把字符串分割成回文串的最少切分次数

给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。返回符合要求的 最少分割次数 。示例 1:输入:s = "aab"输出:1解释:只需一次分割就可将s 分割成 ["aa","b"] 这样两个回文子串。示例 2:输入:s = "a"输出:0示例 3:输入:s = "ab"输出:1提示:1 <= s.length <= 2000s 仅由小写英文字母组成这道题是“求一个字符串的所有”回文串 那道题的拓展。如何求某个...

2021-03-09 00:15:24 668 2

原创 【设计模式】抽象类与接口

一、抽象类// 抽象类public abstract class Logger { private String name; private boolean enabled; private Level minPermittedLevel; public Logger(String name, boolean enabled, Level minPermittedLev...

2020-02-09 14:23:26 147

原创 【设计模式】面向对象的四个特点

一、封装特性 通过把数据在类中设为私有,来进行数据隐藏和数据访问保护。在类中暴露出有限的访问接口,供外部调用,可以达到两个目的:一是可以保护数据免于被删改,二是通过有限的函数接口可以提高类的易用性,再具体点来讲就是,使用者不用再完全了解类所有内容的情况下,仅通过使用必要接口来访问数据。二、抽象性封装的意义主要在于数据保护,对使用者隐藏不必要的信息,使用者只需...

2019-12-08 23:21:39 378

原创 【Python】关键字

1、yield在yied出进行返回, 下次调用yield时会继续当前位置进行def foo(): print("test yield...") while True: res = yield 4 print("res:{}".format(res))g = foo()print(next(g))print("-*-"*20)pri...

2019-12-06 23:09:43 78

原创 【python】python里的关键字

1. withwith 表达式是一种 with-finally的简写形式with open('1.txt') as f: print(f.read()) print(f.closed)表达式open('1.txt')返回是一个_io.TextIOWrapper 类型的变量用f接受到。在with语句块中就可以使用这个变量操作文件。执行with这个结构之后。f会自动关闭...

2019-11-17 13:36:16 105

原创 【Python基础】python中的re模块

import rehttps://www.cnblogs.com/xiaokuangnvhai/p/11213308.html1、sub()函数替换匹配成功的字符串re.sub(pattern,repel,string,count = 0,flags = 1)#pattern 正则模型#repl 要替换的字符串#string 要匹配的字符串#count 指定匹配的个...

2019-11-17 12:21:41 83

原创 【Python】字节码与dis模块

https://www.cnblogs.com/kadycui/p/9279480.html写的非常好。

2019-11-10 21:50:36 186

原创 【Python】CPython解释器及字节码

看了set和dict,看到了字节码和dis模块,看了字节码又不能不看python解释器,很多东西都是相互关联想通。看了一篇文章https://www.cnblogs.com/nelsen-chen/p/9122629.html,后面要自己整理出逻辑来。python作为解释性语言,相对于编译性语言的特点为,是一种边解释边运行的语言,而编译性语言需要完全编译后才可以运行。部分语言的...

2019-11-10 21:50:15 334

原创 【Python基础】字典dict和集合set

今天看了一些python的字典和集合的文章,发觉底层有些东西自己不是很清楚,关于哈希和内存,网上搜了很多发现都是零星的说明,包括csdn里面都是很多杂乱的记录。通过自己搜集点东西把基础用法和实现原理都整理一下。有时自己遇到问题总想着先放下往下面看,最后一拖再拖也该把问题忘记了,更多时候应该以深度优先,把眼把前的问题整理、理解清楚。一、字典 字典是一种键---值映射...

2019-11-10 17:03:30 116

原创 【转】费曼学习法

今天偶然刷到一篇前辈关于学习方法的总结,个人觉得还是有很多共鸣的,贴个连接有时间多看多想想。做写代码这行当,还是永远不要丧失学习能力。原文连接:费曼学习法防止连接内容丢失,贴个原文:你是否曾幻想读一遍书就记住所有的内容?是否想学习完一项技能就马上达到巅峰水平?除非你是天才,不然这是不可能的。对于大多数的普通人来说,可以通过笨办法(死记硬背)来达到学习的目的,但效率低...

2019-10-20 22:10:22 124

原创 【设计模式一】

关于设计模式在去年找工作时候就计划学习,一直没系统的学习。直到最近在工作中才发现自己的功力欠缺太多,各个门类的东西要有计划的进行学习。关于设计模式学习参考的连接(2019.10.19):设计模式A.工厂模式: 属于创建型模式,提供一种的创建对象的方式。定义了一个创建对象的窗口,让子类自己决定要创建哪一工厂类。工厂模式使其创建过程延迟到子类进行。例子:需要一辆...

2019-10-19 22:27:54 93

原创 opengl使用与教程

vs2015+opengl安装与配置https://www.cnblogs.com/zpcdbky/p/6724772.html使用教程:https://www.cnblogs.com/gl5773477/p/4138460.html

2018-11-24 10:33:22 240

原创 面试相关总结

11.17更新:签约完工作有快两个月时间了,总觉得有些东西还是记录一下比较好。后面拿了小米华为网易的offer。写下来一些东西更想是总结一下。有很多次的面试感觉真是差了那么一点点,在技术的掌握和知识面上完全可以做的更好,却在暑期的这段时间里没有抓住,时间短是一方面原因,更多时候是自己有很多东西没有意识到,在去年这个时候开始如果更能抓住一些本质的问题,无论看书还是掌握问题都能有更多进步,所以说...

2018-11-23 22:55:25 120

原创 阿里云部署nginx_gunicorn_flask

 使用阿里云买的学生服务器把之前写的一个web网站部署上去了,总结下里面遇到的坑。网站内容存储基于七牛云,免费10G存储。有些东西别人的东西可以拿来参考,但要看到里面的 原理,不是所有问题按照别人的处理方法进行操作就可以了,还是要自己看错误提示信息。就是现在我写的这些也是针对自己的环境记录的不可以完全照抄。一、安装nginx安装:apt-get install nginxgun...

2018-10-31 23:09:28 157

原创 HTTP协议总结

https://github.com/semlinker/awesome-http#bs-%E7%BB%93%E6%9E%84%E5%AE%9A%E4%B9%89HTTP method:GETPOSTPUT:支持幂等性,也就是说往HTTP sever上传数据时,如果出现宕机传输多次江只有一次起作用。 cookie机制:浏览器访问网站时,若该网站支持cookie机制,浏览...

2018-10-21 13:51:32 95

原创 SQL语句总结

一、selectselect 列名称 from 表名称select * from 表名称distinct:select distinct 列名称 from 表名称  //列出该列不重复得结果where:SELECT 列名称 FROM 表名称 WHERE 列 运算符 值SELECT * FROM Persons WHERE City='Beijing'//把city列得...

2018-09-16 18:54:16 73

原创 n,k个小于号,n-k-1个大于号

度度熊最近对全排列特别感兴趣,对于1到n的一个排列,度度熊发现可以在中间根据大小关系插入合适的大于和小于符号(即 '&gt;' 和 '&lt;' )使其成为一个合法的不等式数列。但是现在度度熊手中只有k个小于符号即('&lt;'')和n-k-1个大于符号(即'&gt;'),度度熊想知道对于任意的排列中有多少个排列可以使用这些符号使其为合法的不等式数列。 牛客解答:dp[i][j]...

2018-09-02 16:28:56 727

原创 每次选择一个数放到最后,把数组调成有序需要多少次操作?

度度熊有一个N个数的数组,他想将数组从小到大 排好序,但是萌萌的度度熊只会下面这个操作:任取数组中的一个数然后将它放置在数组的最后一个位置。问最少操作多少次可以使得数组从小到大有序?最开始的思路: 19  7  8  25使用set将输入数组排序,从头遍历,从最小值开始,将当前值之前所有比现在值大的数放到最后。19 7 8 25 — 7 8 25 19— 7 8 —...

2018-09-02 15:26:10 7071 2

转载 空间中任意三个点组成三角形面积

问题1:遍历所有可能的3个点 1 2 3  for(int i = 0; i &lt; n; i++)    for(int j = i + 1; j &lt; n; j++)      for(int k = j + 1; k &lt; n; k++) 问题2:判断3个点是否能组成三角形 1 2 ...

2018-09-02 15:09:18 10242

原创 两个字符串的最长公共子序列与公共子串问题

一、最长公共子串问题s1: abcdes2: abgde输出2相对于最长公共子序列问题,最长公共子串问题的特点就是寻找连续的最长子序列。这里处理方法是生成二维dp数组。最长连续子串的长度res。dp数组表示相等则+1,遇见不等字符则置0,再遇见相等从新从0开始+1.若s1[i-1]=s2[j-1]           i&gt;1&amp;&amp;j&gt;1   dp[...

2018-09-01 11:45:47 331

原创 【procmon】进程监控实现(一)

来来回回用了好几天折腾崩掉了三个虚拟机,终于把程序跑通了,现在把其中的坑记录一下,爬坑是要长经验的,切记!在这个时间段,记录下这些坑,给自己第一篇技术博客开个头:前期准备:我用的是Ubuntu16.041.vim安装与使用sudo apt-get install vim后面由于要装不少东西,这里修改了apt的源。源文件备份sudo cp /etc/apt/sourc...

2018-07-30 15:14:02 2443

Ruby_RailInstaller.rar

为了部署GitHub装jeklly下载的,国外镜像太慢了,windows平台的installer,是rubyRaillinstaller,包括ruby的整套

2019-11-09

空空如也

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

TA关注的人

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