自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (2)
  • 收藏
  • 关注

原创 2020-10-03

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组[3,4,5,1,2]为[1,2,3,4,5]的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。# -*- coding:utf-8 -*-class Solution: def minNumberInRotateArray(rotateArray): if len(rotateArray)

2020-10-04 14:33:13 95

原创 290单词规律 2020-9-29

题目分析技术点:该题主要利用字典,键值一一匹配的关系。在键不存在的时候,值不能存在。在键已经存在的时候,要判断当前键所对应的值 与 字典中已经存在的键对应的值是否相等。确保一一匹配简单题就是简单题,这道题会考你的逻辑,但是感觉没怎么考虑算法和时间复杂度的问题,对于字典的时间复杂度,我还不是很清楚易错点:考虑逻辑不周全;另外就是,会把形参弄错,传入的是s,不是str!!! 此处感谢czy,不然一天我可能都会笼罩在这个的阴霾之下示例:输入: pattern = “abba”, str = “dog

2020-09-29 11:42:31 853

原创 2020-9-28 剑指 Offer 53 - I. 在排序数组中查找数字 I

在排序数组中查找一个数字出现的次数题目输入: nums = [5,7,7,8,8,10], target = 8输出: 2分析 :遍历的话很简单,但是时间复杂度O(n),题目看上去很简单,但是真正的降低时间复杂度也需要用到一些算法的知识。由有序数组可知,我们可以得到第一次出现这个数字与最后一次出现这个数字的索引,从而相减得到该数字出现的次数。容易忽略的点 :数组本身为空数组;数组不为空,但是并不包含目标数字;关于此题用二分查找的一点小trick:用两个条件判断即可。指针最好为right=m

2020-09-28 22:33:29 122

原创 字符串 列表 字典 互相转换

https://www.zhihu.com/tardis/sogou/art/103274526

2020-09-27 14:27:03 295

原创 滑动窗口最大值--双端队列(详细解读)2020-9-1

滑动窗口最大值–双端队列(详细解读)要分清头和尾,尾部添加,头部删除演绎维护单调双端队列的4个步骤一四个步骤的目的,保证滑动窗口头部是最大值(头,尾,尾,头)第一步,头部出队,清理超范围(头部出队只出一个元素)第二步,篮球队清理,移除尾部,在当前值前面的还小于当前值的元素第三步,尾部入队,尾部范围正确第四步,返回头部一一当前窗口最大值比如【1 3 -1 -3 5 3 6 7】先进入1,扫描3,发现3>1,然后1出队,3进队。-1<3,-1进队,最大值为3;-3<-1,

2020-09-01 11:40:28 341

原创 两数之和(lc1)2020-8-31

两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]知识点:。。。思路:很简单需要注意的点:最后返回一个空的vector,不然会报错;return vector();clas

2020-08-31 20:15:06 109

原创 反转字符串中的单词(lc557)2020-8-31

反转字符串中的单词给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。输入:“Let’s take LeetCode contest”输出:“s’teL ekat edoCteeL tsetnoc”知识点:栈思路:只要没有遇到空格就把换个字符入栈,如果遇到空格后,判断一下是第几次遇到空格。如果是第一次遇到空格,这时候不需要加" ",因为这样反转回来的时候第一个字母前面会有一个空格。但是就算这样做了,但是依然有问题,因为最后一个字母会连起来倒数第二个,所以我们要

2020-08-31 20:10:11 114

原创 比较含退格的字符串(lc844)2020-8-31

比较含退格的字符串给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。知识点:栈思路:用一个函数来得到每个字符串实际上最后得到的字符串。然后对得到的字符串再进行比较。对于一个字符串,当字符不是#时,入栈;当字符是#时,出栈。最后将栈里的字符都pop出来组成字符串我现在好像意识到这样出来的字符串是反过来的,但是是比较两个一不一样,没影响需要注意的地方:注意出栈的时候,要保证栈不是空的。if(!stack.empty()){stack

2020-08-31 19:33:02 103

原创 删除最外层的括号(lc1021)2020-8-31

删除最外层的括号例如,"","()","(())()" 和 “(()(()))” 都是有效的括号字符串。如果有效字符串 S 非空,且不存在将其拆分为 S = A+B 的方法,我们称其为原语,其中 A 和 B 都是非空有效括号字符串。给出一个非空有效字符串 S,考虑将其进行原语化分解,使得:S = P_1 + P_2 + … + P_k,其中 P_i 是有效括号字符串原语。对 S 进行原语化分解,删除分解中每个原语字符串的最外层括,返回 S。知识点:好像也没用到啥知识点?可以用栈解决,但没有用思路:

2020-08-31 19:14:53 119

原创 删除排序数组中的重复项 (lc26) 2020/8/30

删除数组中的重复项给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。知识点:快慢指针相似题目:移除某个元素代码思路:i为快指针,j为慢指针,直到碰上不重复的,把它紧接着存到nums[++j]里。需要注意的地方:(1)题目说了不需要考虑数组中超出新长度后面的元素。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参做

2020-08-30 13:30:04 212

原创 有效的括号(lc20) 2020/8/29

有效的括号(lc20)给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。知识点:栈 后进先出的特性思路:先判断括号是左括号还是右括号。如果为左括号的话则入栈,一旦遇到右括号,将栈中的栈顶出栈,然后判断此时的括号与出栈的元素是否恰为一对括号,如果不是则该组括号不是有效括号,返回false;若最后栈为空,则表明为有效的括号;需要注意的地方:(1)首括号为右括号的时候;(2)括号须为偶数个;(3)c++中的栈操作pop(),返回值为void; top()返

2020-08-29 23:55:24 99

原创 重学数据结构与算法

重学数据结构与算法一、 时间复杂度和空间复杂度二、优化代码的方法论三、数据结构基础四、如何完成线性表的增删查五、栈:后进先出的线性表,如何实现增删查?最近很迷茫,不知道应该学什么好了,似乎什么都需要去学,是的,作为一个跨专业狗,仅有用的一点知识就是一些对计算机的基本理解和一些编程入门知识。缺乏系统性的计算机知识的学习,代码能力渣渣,算法和数据结构也和没学过一样。更不要提计网操作系统编译原理了,本科不学,自己也没自学,不知道我怎样能混过毕业这一关。多说无益,最近对数据结构和算法很感兴趣,那就学习吧,行动起来

2020-07-30 15:58:45 269

原创 python实现选择排序

python实现选择排序2010-3-91 代码def findsmall(list): small=list[0] lenth=len(list) small_index=0 for i in range(1,lenth): if list[i]<small: small=list[i] ...

2020-03-09 14:09:50 74

原创 [武汉加油,打卡Day1]

Anaconda+Pycharm安装简单记录及使用入门Anaconda安装Pycharm安装断点、Debugger、ConsoleAnaconda安装由于之前我在win10系统里下载了python3.7.5,后来查资料知道,安装Anaconda不需要安装python,所以我把之前的python卸载了。当然之前安装好python的也可以不用卸载,但是Anaconda自带的python版本和你下载...

2020-02-06 15:52:02 519

原创 通用程序,查找任何类型的数据

#include<stdio.h>#include <string.h>int search(void* key,void* base,int n,int elemsize){ for(int i=0;i<n;i++) { if ( memcmp(key,((char* )base+i*elemsize),elemsize)==0) //me...

2019-10-06 20:55:29 146

转载 ros 节点关闭或启动

ros 节点的启动:(1)初始化ros节点:通过调用ros::init()接口实现;可以通过参数指定默认节点名字,之所以是默认,是因为在命令行执行程序时,是可以修改节点名字的。(2)启动ros节点:通过调用ros::NodeHnadle创建NodeHnadle实例nh实现,第一次创建实例时,会调用ros::start(),此时启动本节点。ros节点关闭:(1)通过调用ros::sh...

2019-08-07 17:33:31 6732 1

java socket 单线程实现P2P通信

简单大循环 单线程实现通信 1. TCP连接通信 2. Server先监听,等待Client连接 3. 双方都可以发"Stop!"停止通信,但此程序Client只会停止,Server可以一直监听,即断开后,Client可以再次连接 4. 不能一对多通信,只能一对一

2020-05-01

俄罗斯方块

可以再eclipse下运行的小游戏,俄罗斯方块 和射击游戏

2018-01-16

空空如也

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

TA关注的人

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