自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 187.重复的DNA序列

187.重复的DNA序列线性时间窗口切片 + HashSet线性时间窗口切片 + HashSet思想:沿着长度为N的字符串移动长度为L的窗口,将每次移动得到的结果记录下来,如果在记录表中出现这样的字符,则记录在输出表中。否则在记录表中登记该结果。class Solution(object): def findRepeatedDnaSequences(self, s): N=len(s);L=10 #这里设置成set(),后面使用的参数设置为add.

2021-05-28 21:51:16 78

原创 Leetcode.328.奇偶链表.python

Leetcode.328.奇偶链表一、拼接奇数链表与偶数链表二、一、拼接奇数链表与偶数链表先将奇数节点和偶数节点分离。奇数节点和偶数节点的头节点分别为:evenhead=head.next,odd=head,even=evenhead.更新奇数节点的时候,odd.next=even.next, odd=odd.next.更新偶数节点的时候,even.next=odd.next, even=even.next.分离完毕的条件是:even/even.next=None.最后,将奇偶链表连接起来od

2021-05-15 11:10:37 161

原创 Leetcode.203.移除链表元素.python

Leetcode.移除链表元素指针(哨兵节点)指针(哨兵节点)哨兵节点解密了哨兵节点的提出是为了避免遇到需要删除头节点的情况。其主要目的是使链表标准化,如使链表永不为空、永不无头、简化插入和删除。建立两个指针,一个指向当前节点,一个指向前一个节点。class Solution(object): def removeElements(self, head, val): Newhead=ListNode(0,head) prev,cur=Newhead,head

2021-05-09 20:29:58 97

原创 Leetcode.206.反转链表.python

Leetcode.206.反转链表双指针递归双指针和之前283.移动零的想法类似。固定两个指针,一个指针处理以及反转的部分,一个指向待反转的部分。首先建立已经处理部分的指针的初始值:prev=None;建立待处理部分的指针cur;为了防止指针转向后丢失待处理节点之后的部分,首先在链表转向前,使用一个参数保存目前处理节点之后的部分。class Solution(object): def reverseList(self, head): prev=None

2021-05-09 19:09:35 90

原创 Leetcode.33.搜索旋转排序数组.python

Leeicode.搜索旋转排序数组字典方法二分法字典方法暴力解法class Solution(object): def search(self, nums, target): dictn={} for i,ele in enumerate(nums): if ele==target: return i return -1二分法重要的是分清target的位置,在前半段还是后半段1.单凭

2021-05-08 22:11:53 67

原创 Leetcode.278.第一个错误的版本.python

Leetcode.第一个错误的版本二分法二分法由题意可知:前面的部分都是正确的版本,从第一个错误版本之后的全是错误版本。如果isBadVersion(mid),返回的结果是True,说明找过头的,错误的版本在mid之前(包含mid),r=mid;如果isBadVersion(mid),返回的结果是False,说明还没有找到,错误的版本在mid之后(不包含mid),l=mid+1class Solution(object): def firstBadVersion(self, n):

2021-05-08 21:09:42 42

原创 Leetcode.162.最大峰值.python

Leetcode.最大峰值.python二分法二分法和153寻找最小值类似,这里是寻找极值,只需要任意一个极值即可,和两边对比即可。如果nums[mid]>nums[mid+1],峰值在mid左侧(包含md),r=mid; 如果nums[mid]<nums[mid+1],峰值在mid右侧(不包含mid),即l=mid+1.上述分析适用于三种种情况。1.在开端取得峰值,使用前半部分分析来解释。2.在结尾处取得峰值,使用后半部分分析解释3.在中间取得峰值,结合进行分析class S

2021-05-08 20:53:34 171

原创 Leetcode.153.寻找旋转排序数组中的最小值.python

Leetcode.寻找排序数组中的最小值快慢指针快慢指针这里使用的是nums[mid]<nums[r]是因为,当上式满足的时候,最小值点一定落在mid左侧(包含mid),故r=mid。而如果nums[mid]>nums[r],则最小值一定在mid右侧(不包含mid),故l=mid+1。如果按照nums[mid]>nums[l],只能判断最小值一定在mid左侧(不包含mid),故l=mid+1,但是当nums[mid]<nums[l]时候,不能保证判断最小值在mid左侧还是右

2021-05-08 20:10:06 90

原创 Leetcode.283.移动零.python

Leetcode.移动零.python快慢指针快慢指针使用双指针,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部。在头节点位置分别建立快慢指针,快指针先行,如果快指针指向的节点值不为0,则将快慢指针节点进行交换,交换后的慢指针进行移动,表示已经处理好之前的元素。如果快指针指向的元素不为0,继续移动快指针。class Solution(object): def moveZeroes(self, nums): l,r=0,0 #只有交换后左指

2021-05-08 18:43:29 72

原创 Leetcode.142.环形链表II.python

leetcode.环形链表II.python快慢指针快慢指针在已经判定是否存在环形链表的基础上进行操作class Solution(object): def detectCycle(self, head): l=head;r=l #只要r可以顺利遍历,l就一定可以 while r and r.next: l=l.next r=r.next.next if r == l:

2021-05-08 18:23:08 49

原创 Leetcode.141.环形链表.python

leetcode.141.环形链表.python快慢指针)哈希表快慢指针)首先特殊情况:空链表与长度为1的链表必没有环快慢指针:快指针每次走两步,慢指针每次走一步如果有环形表,快慢指针终究会相遇,但是未必在终点相遇class Solution(object): def hasCycle(self, head): l=head if l == None or l.next==None: return False r=

2021-05-08 18:12:22 68

原创 Leetcode.19.删除链表的倒数第n个节点.python

Leetcode.python.删除链表的倒数第N个节点自己解法(长度)栈自己解法(长度)首先获取链表长度l;寻找链表长度l与倒数第n个节点中n的关系;index=l-n;删除index位置节点即可。细节:长度为0的时候直接返回head(空链表);index=0的时候,相当于删除头节点。class Solution(object): def length(self, head): length = 0 while head:

2021-05-08 15:54:05 105

原创 Leetcode 160.相交链表

Leetcode 相交链表使用python的三种解法自己解法哈希表方法快慢指针方法使用python的三种解法自己解法拿到题之后,可以想到长链表比短链表要先多走差值步,两者才能同时到达相交点:自定义链表长度函数 ;求链表长度差值 ;让较长的链表先行 ;返回交点 。class Solution(object): def length(self,head): cur=head l=0 while cur: l+=1

2021-05-08 14:19:48 60

原创 MySQL排序查询,常见函数,分组查询,连接查询

排序查询/常见函数/分组查询/连接查询排序查询常见函数分组函数分组查询连接查询排序查询语法select 查询列表from 表where 筛选条件order by 排序列表特点asc/desc;排序支持单个字段、多个字段、别名、函数;order by一般放在查询语句最后(除limit之外)常见函数字符函数concatsubstrinstrupperlowerreplacelengthtrimlpadrpad数学函数ceilroundmod

2021-03-29 19:19:15 62

原创 MySQL语法规范

MySQL语法规范不区分大小写,但是建议关键字大写,表名、列名小写。每条命令用分号或\g结尾。每条命令根据需要可以缩进或换行。注释:单行注释: #注释文字单行注释: --注释文字多行注释: /* 注释文字 */...

2021-03-06 20:59:27 54

原创 MySQL常见命令

MySQL的常见命令查看数据库show database;进入某个数据库use test;show tables;show tables from mysql;目前还在test库,仅仅在test库中查询mysql的tables查看自己在哪一个库:select database();创建table由于目前仍在test库,创建的table也在test库中。create table 表名(-> id int,-> name varchar(20));查看tes

2021-03-06 18:10:34 52

原创 MySQL的进入与退出

MySQL的进入与退出这里写目录标题MySQL的进入与退出启动和停止登录与退出启动和停止1.首先要保证MySQL保证运行状态以管理员身份打开命令提示符:运行:net start mysql(这里是安装时自定义的服务名)结束:net stop mysql(这里是安装时自定义的服务名)登录与退出前提是MySQL已经运行1.MySQL自带的MySQL 5.5 Command Line Client输入密码即登录成功 (不建议,不够灵活,仅限于root用户)2.同样是管理员

2021-03-06 17:30:27 56

原创 SQL第一课 了解及安装MySQL

学习SQL第一天一、保存数据的容器二、数据库的概念1.术语2.读入数据总结前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结一、保存数据的容器1.内存(数组, 集合)2.文件(永久存储数据,但是不方便查询) 3.数据库(实现数据持久化,管理系统完善,易于查询)二、数据库的概念1.术语DB(database): 存储数据的仓库,数据库。DBMS(database management system):数据库是通过DBMS创建和操作的容器,数据库管理系统。SQL (str

2021-03-01 17:29:52 109

原创 Leetcode(14.最长公共前缀)

Leetcode(14.最长公共前缀)Python 最长公共前缀编写函数查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。如下:输入:strs = ["flower","flow","flight"]输出:‘fl'输入:strs = ["dog","racecar","car"]输出:""标准答案Class Solution(object): def LongestCommonPrefix(self, strs): result = "" for i in

2021-02-27 19:22:51 48

空空如也

空空如也

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

TA关注的人

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