自定义博客皮肤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)
  • 收藏
  • 关注

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

给出由小写字母组成的字符串S,重复项删除操作会选择两个相邻且相同的字母,并删除他们利用栈,栈顶元素和当前元素相同,栈顶元素出栈。代码如下:class Solution: def removeDuplicates(self, s: str) -> str: stack = [] cur = 0 while cur < len(s): if not stack: stack.ap.

2021-05-30 18:33:21 328

原创 pycharm 使用技巧

pycharm 一次性修改文件的所有同名变量。双击选中,然后右击rename,就OK了。pycharm 代码跳转后的回退,按住ctrl + alt + 左箭头,往回退,ctrl + alt + 右箭头。或者直接在视图中把toolbar勾选。如图:...

2021-05-30 10:25:21 86

原创 无法吃午餐的学生数量(leetcode)

学校的自助午餐提供圆形和方形的三明治,分别用数字0和1表示,所有学生站在一个队列里,每个学生要么喜欢圆形的要么喜欢方形的餐厅里三明治的数量与学生的数量相同,所有三明治都放在一个栈里,每一轮:如果队列最前面的学生喜欢栈顶的三明治,那么会拿走它并离开队列。否则,这名学生会放弃这个三明治并返回到队列的尾部。这个过程会一直持续到队列里所有学生都不喜欢栈顶的三明治为止。这个过程会一直持续到队列里所有学生都不喜欢栈顶的三明治为止。给你两个整数数组students 和sandwiches,其中sandwic..

2021-05-29 12:51:14 481

原创 无重复字符串的排列组合(leetcode)

无重复字符串的排列组合,编写一种方法,计算某字符串的所有排列组合,字符串每个字符均不相同。回溯代码如下:class Solution: def permution(self,s): if s == "": return [] res = [] path = "" def backtrack(s,path,res): if s == "": return res.append(path) for i in range(len(s)): cur = .

2021-05-23 12:05:16 303

原创 使数组中所有元素相等的最小操作数(leetcode)

存在一个长度为n 的数组arr ,其中arr[i] = (2*i) + 1 (0 <= i < n).一次操作中,你可以选出两个下标,记作x 和y (0<=x,y <n ) 并使arr[x] 减去1、arr[y] 加上1 (即arr[x] -= 1 且arr[y] +=1).最终的目标是使数组中的所有元素都相等。题目测试用例将会保证;在执行若干步操作后,数组中的所有元素最终可以全部相等。给你一个整数n,即数组中的长度,请你返回使数组arr 中所有元素相等所需的最小操作数。思路其.

2021-05-22 21:23:50 824

原创 合并两个有序数组(leetcode)

给你两个有序整数数组num1和nums2,请你将nums2 合并到nums1中使nums1成为一个有序数组。初始化nums1 和nums2 的元素数量分别为m 和n ,你可以假设nums1的空间大小等于m+n,这样它就有足够的空间保存来自nums2的元素。解题思路: 谁大就往后放。class Solution: def merge(self, A, m: int, B, n: int): i,j,end = m-1,n-1,m+n-1 while j >= 0: if.

2021-05-22 15:57:30 151

原创 回文排列(leetcode)

给定一个字符串,判断该字符串中是否可以通过重新排列组合,形成一个回文字符串解法一,回文排列的特点是字母奇数个数位最多为1.代码如下:利用字典来统计字母的个数class Solution: def canPermutePalindrome(self, s: str) -> bool: length = len(s) tmp = {i: 0 for i in s} for i in s: tmp[i] += 1 .

2021-05-22 10:37:47 223

原创 有效的山脉数组(leetcode)

给定一个整数数组arr,如果它是有效的山脉数组就返回true,否则返回false让我们回顾一下,如果A满足下述条件,那么他是一个山脉数组。arr.length >=3在0< i < arr.length -1 条件下,存在i使得:arr[0] < arr[i] < …arr[i-1] < arr[i]arr[i] > arr[i+1] > … > arr[arr.length -1]就是数组有唯一的拐点,并且前半部分是升序,后半部分是..

2021-05-21 21:53:48 254

原创 玩筹码(leetcode)

数轴上放置了一些筹码,每个筹码的位置存在数组chips 当中,你可以对任何筹码执行下面两种操作之一(不限操作次数,0次也可以)将第i 个筹码向左或者向右移动2个单位,代价为0将第i 个筹码向左或者向右移动1个单位,代价为1。最开始的时候,同一位置上也可能放着两个或者更多的筹码。返回将所有筹码移动到同一位(任意位置)上所需要的最小代价。思路其实在求数组中奇数个数和偶数个数的最小值。代码如下:class Solution: def minCostToMoveC..

2021-05-20 22:44:01 153

原创 计算疫情扩散的时间

计算疫情扩散时间 | 时间限制:1秒 | 内存限制:32768K | 语言限制:不限在一个地图中(地图由n*n个区域组成),有部分区域被感染病菌。感染区域每天都会把周围(上下左右)的4个区域感染。请根据给定的地图计算,多少天以后,全部区域都会被感染。如果初始地图上所有区域全部都被感染,或者没有被感染区域,返回-1收起输入描述:一行N*N个数字(只包含0,1,不会有其他数字)表示一个地图,数字间用,分割,0表示未感染区域,1表示已经感染区域每N个数字表示地图中一行,输入数据共表示N行N列的区.

2021-05-16 22:32:51 6493 2

原创 保持城市的天际线(leetcode)

在二维数组grid中,grid[i][j] 代表位于某处的建筑物高度,我们被允许增加任何数量(不同建筑物的数量可能不同)的建筑物的高度,高度0 也被认为是建筑物最后,从新数组的所有四个方向(即顶部,底部,左侧和右侧) 观看的"天际线"必须与原始数组的天际线相同城市的天际线是从远处观看时,由所有建筑物形成的矩形的外部轮廓。请看下面的例子。代码如下:class Solution: def maxIncreaseKeepingSkyline(self, grid): tota.

2021-05-16 17:46:41 134

原创 移动所有球到每个盒子所需要的最小操作数(leetcode)

有你个盒子,给你一个长度为n 二进制字符串boxes,其中boxes[i] 的值为"0" 表示第i 个盒子是空的,而boxes[i] 的值为"1" 表示盒子里有一个小球。在一步操作中,你可以将一个小球从某个盒子移到一个与之响铃的盒子中。第I g个盒子和第j 个盒子相邻需满足abs(i-j) == 1。 注意,操作执行后,某些盒子中可能会存在不止一个小球。返回一个长度为n 的数组answer,其中answer[i] 是将所有小球移动到第i 个盒子所需要的的最小操作数。每个answer[i] 都需..

2021-05-16 12:01:14 152

原创 TinyURL 的加密与解密(leetcode)

TinyRUL 是一种URL简化服务,比如:当你输入一个URL https://leetcide.com/problems/design-tinyurl 时,它将返回一个化简的URL http://tinyurl.com/4e9iAK要求:设计一个TinyURL 的加密encode 和 解密decode 的方法,你的加密和解密算法如何设计和运作是没有限制的。你值需要保证一个RUL可以被加密成一个TinyURL,并且这个TinyURL可以用解密方法恢复原成本的URL.代码如下:import ha.

2021-05-15 19:47:54 992

原创 最长的指定瑕疵度的元音字串

标题:最长的指定瑕疵度的元音子串 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限开头和结尾都是元音字母(aeiouAEIOU)的字符串为 元音字符串 ,其中混杂的非元音字母数量为其 瑕疵度 。比如:· “a” 、 “aa”是元音字符串,其瑕疵度都为0· “aiur”不是元音字符串(结尾不是元音字符)· “abira”是元音字符串,其瑕疵度为2给定一个字符串,请找出指定瑕疵度的最长元音字符子串,并输出其长度,如果找不到满足条件.

2021-05-15 11:43:28 4385 1

原创 雪糕的最大数量(leetcode)

夏日炎炎,小男孩tony想买一些雪糕消消署,商店中新到n支雪糕,用长度为n 的数组costs 表示雪糕的定价,其中costs[i]表示第i支雪糕的现金价格,tony 一共有coins现金可以用于消费,他想要买尽肯能多的雪糕。给你价格数组costs 和 现金量coins,请你计算并返回Tony 用coins 现金能够买到的雪糕的最大数量。解法 就是求升序序列的前n项和小于等于钱的个数class Solution: def maxIceCream(self, costs, coins:.

2021-05-14 00:06:28 310

原创 盛最多水的容器(leetcode)

==给你n个非负整数a1,a2,…,an,每个数代表坐标中的一个点(i,ai),在坐标内画n 条垂直线,垂直线i 的两个端点分别为(i,ai) 和 (i,0).找出其中的两条线,使得它们与z轴共同构成的容器可以容纳最多的水。==盛水的容量取决于高度的最小值,宽度越大,盛的水越多。解法一:暴力解法穷举所有的可能class Solution1:def maxArea(self, height) -> int: area = 0 for i in range(0,.

2021-05-12 20:39:08 60

原创 python 经过装饰器动态添加映射

利用装饰器的特性,先装饰,在被装饰函数调用的使用才调用。框架的路由映射就是这么实现的。代码如下:url_map_dict = dict()def route(url): def set_func(func): url_map_dict[url] = func # 添加映射关系 def call_func(*arg,**kwargs): pass # 这里就不调用函数了,只用到了提供一个参数和函数的引用 return .

2021-05-11 21:57:51 137

原创 python 解析cfg文件

python 中有这么一个库configparser,用这个库来解析cfg文件,代码如下:import configparserdef get_conf_parse(path,key,section=None): """ :param path: 配置文件的路径 :param key: key :param section: 段落 :return: """ cf = configparser.ConfigParser() cf.read.

2021-05-11 21:43:30 3201

原创 xshell 使用技巧

1、它的快速命令集比较好用。批量安装一些工具或者比较不好记忆的命令。使用很方便。使用方法如下:在xshell 的查看中开启快速命令栏如图:在底部就可以编辑命令了: 如图2、要在主机上安装一个包,就可以在xshell 中实现文件的上传和下载,当然你使用SFTP也行。sudo apt-get install lrzsz 安装完之后就可以了。sz 下载文件,用法 sz 文件名。 如图:rz 上传文件如图:选择你要上传的文件名...

2021-05-01 22:19:11 279

空空如也

空空如也

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

TA关注的人

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