![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
土馒头二号
记录学习
展开
-
Leetcode 实现strStr()(python)
题目:给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。当 needle 是空字符串时我们应当返回 0 。举例:输入: haystack = “hello”, needle = “ll”输出: 2输入: haystack = “aaaaa”, needle = “bba”输出: -1题干解析:找haystack与needle的交集第一次出现的位置借鉴别人的思路原创 2020-08-28 11:18:35 · 341 阅读 · 1 评论 -
LeetCode字符串转换整数(python)
题目:请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。注意:假如该字符串中的第一个非空格字符不是一个有原创 2020-08-27 13:46:29 · 265 阅读 · 0 评论 -
python 去除字符串中的空格
原文链接strip()方法,去除字符串开头或者结尾的空格>>> a = " a b c ">>> a.strip()'a b c'lstrip()方法,去除字符串开头的空格>>> a = " a b c ">>> a.lstrip()'a b c 'rstrip()方法,去除字符串结尾的空格>>> a = " a b c ">>> a.rstrip()' a b转载 2020-08-27 11:53:23 · 184 阅读 · 0 评论 -
for循环中关于list列表中remove的坑
原文链接参考链接可以看出1并未被完全删除完具体分析一下这段代码: 第一次循环,循环索引为0,此时索引为0的元素是1,满足条件,因此mylist中的第一个1被删除,此时mylist变为[1,2,1,1,3,4];第二次循环,循环索引为1,此时新列表中,索引为1的元素是2,不满足条件,mylist仍然为[1,2,1,1,3,4];第三次循环,循环索引为2,此时列表中,索引为2的元素是1,满足条件,remove方法会再次删除一个1,但是remove会删除第一次出现的1(即删除索引为0的那个1),因此转载 2020-08-27 11:40:52 · 899 阅读 · 0 评论 -
LeetCode验证回文串(python)
题目:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。举例:输入: “A man, a plan, a canal: Panama”输出: true输入: “race a car”输出: false题干解析:回文串:左右字符对称注意:字符串中标点符号也占索引 如何删除字符串中的非字母数字字符我的方法:利用filter()函数 str.isalnumclass Solution: def isPa原创 2020-08-27 10:58:51 · 205 阅读 · 0 评论 -
LeetCode有效的字母异位词(python)
题目:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。举例:输入: s = “anagram”, t = “nagaram”输出: true输入: s = “rat”, t = “car”输出: false题干解析:异位词: 长度一样,包含的字母都一样,每个字符出现的频率也一样,只是顺序不同而已class Solution: def isAnagram(self, s: str, t: str) -> bool: s = sor原创 2020-08-26 16:49:35 · 209 阅读 · 0 评论 -
sort()和sorted()的区别
list.sort() 为原址排序函数,无返回值list = ['a','c','b']list.sort()#list = list.sort() print(list) 输出也是Noneprint(list)#print(list.sort()) 输出Nonesorted(list)存在返回值list = ['a','c','b']list = sorted(list)print(list)#print(sorted(list))...原创 2020-08-26 16:07:59 · 295 阅读 · 0 评论 -
LeetCode旋转图像(python)
题目:给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。举例:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]题干解析:n*n的矩阵 旋转90度意味着 第一行变为第n列 第n行变成第1列。先将矩阵的行列转置,(只遍历半个矩阵,以i==j 为判断)原创 2020-08-26 15:15:51 · 261 阅读 · 0 评论 -
LeetCode 有效的数独(python)
题目:判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。上图是一个部分填充的有效的数独数独部分空格内已填入了数字,空白格用 ‘.’ 表示。说明:一个有效的数独(部分已被填充)不一定是可解的。只需要根据以上规则,验证已经填入的数字是否有效即可。给定数独序列只包含数字 1-9 和字符 ‘.’ 。给定数独永远是 9x9原创 2020-08-23 15:39:46 · 164 阅读 · 0 评论 -
LeetCode两数之和(python)
题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。举例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]题干解析:遍历数组 将索引为i的数依次与i+1及以后的数相加 判断是否为目标值我的方法:执行用时击败5%??class Sol原创 2020-08-23 11:34:02 · 201 阅读 · 0 评论 -
LeetCode字符串中的第一个唯一字符(python)
题目:给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。提示:你可以假定该字符串只包含小写字母。举例:s = “leetcode”返回 0s = “loveleetcode”返回 2题干解析:注意:第一个不重复的字符,故原字符串不可打乱顺序遍历字符串 ,将i位置字符与剩余字符做对比,剩余字符为s[:i]+s[i+1:],即 s=[leetcode]将num=l 与s’=[eetcode]做对比我的方法class Solution: def原创 2020-08-22 13:30:28 · 265 阅读 · 1 评论 -
LeetCode整数反转(Python)
题目:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。说明:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。举例:输入: -123输出: -321输入: 120输出: 21题干解析:按照数组加一这道题的思路我的方法:现将整数的每位拆分,最后再合成。class Solution: def reverse(self, x: int) -> int:原创 2020-08-22 10:58:35 · 230 阅读 · 0 评论 -
LeetCode移动零(python))
题目:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。举例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]题干解析:遍历数组 若为0 ,则remove,在末尾append(0)我的方法:class Solution: def moveZeroes(self, nums: List[int]) -> None: """原创 2020-08-21 12:13:28 · 137 阅读 · 0 评论 -
LeetCode加一 (python))
题目:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。举例:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。即 4321 + 1 = 4322题干解析:完成加法运算,即 4339 + 1 = 43403999 + 1 = 4000不存在0999 + 1 =1000如何实现:将数组[1,2,3]拆分为1100+21原创 2020-08-21 11:33:55 · 147 阅读 · 0 评论 -
LeetCode两个数组的交集II (python)
题目:给定两个数组,编写一个函数来计算它们的交集。说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。我们可以不考虑输出结果的顺序。举例:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]题干解析:交集:既出现在nums1中 又出现在num2中我的思路: 将数组转化为元组 求交集错误! [1,2,2,1]与[2,2]的交集为[2,2]class Solution: def intersect(self, n原创 2020-08-20 11:10:16 · 123 阅读 · 0 评论 -
LeetCode 只出现一次的数字Python
题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?举例:输入: [4,1,2,1,2]输出: 4题干解读:注意:某个元素出现一次,其余元素均出现两次我的思路:先将数组排序,对比相邻两个数是否相等,若相等则跳过class Solution: def singleNumber(self, nums: List[int]) -> int:原创 2020-08-20 09:49:35 · 180 阅读 · 0 评论 -
LeetCode 存在重复元素(python)
题目:给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。举例:输入: [1,2,3,1]输出: true输入: [1,2,3,4]输出: false我的思路:超出时间限制.遍历数组,[1,2,3,4] 以第一个数为基础,比较[2,3,4]中有无等于第一个数的, [2,3,4]以第二个数为基础,比较[3,4]中有无等于第二个数的。以此类推。class Solution: def cont原创 2020-08-19 17:09:32 · 215 阅读 · 0 评论 -
LeetCode 旋转数组(python)
题目: 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数举例: 输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]题干解读:旋转第一步,保留原数组最后一个值,其余位置逐个向前推移[1,2,3,4,5,6,7] ——>[1,2,3,4,5,6,6]——>[1,2,原创 2020-08-19 11:42:25 · 170 阅读 · 0 评论 -
LeetCode 反转字符串(python)
题目: 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。举例输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]题干解读:这题略简单 我竟然独立自主完成了。不解读了class Solution: def reverseString(se原创 2020-08-18 14:19:11 · 172 阅读 · 0 评论 -
LeetCode 买卖股票的最佳时机ll (python)
题目: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。举例:例1输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价原创 2020-08-18 10:35:36 · 109 阅读 · 0 评论 -
LeetCode 删除排序数组中的重复项(python)
题目:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。举例:nums=[1,1,2]返回:2新nums=[1,2,2]或者新nums=[1,2,1]nums=[0,0,1,1,1,2,2,3,3,4]返回:5新nums=[0,1,2,3,4,2,2,3,3,4]题干解读:给定一个有序数组,返回数组中不重复元素的个数n要求:在原数组原创 2020-08-17 20:22:00 · 289 阅读 · 0 评论 -
安装库
在终端安装 pip installanaconda环境下安装pycharm内 setting-Project interpreter-installpycharm下集成多个环境转载 2019-08-27 20:48:00 · 169 阅读 · 0 评论 -
矩阵的创建及 一些琐碎知识点
import numpy as npfrom numpy import *a = mat([[1,2,3],[3,4,5]])print(a)print(type(a))输出结果:[[1 2 3] [3 4 5]]<class 'numpy.matrixlib.defmatrix.matrix'>输出结果为 矩阵形式b=array([[...原创 2019-03-07 17:51:27 · 143 阅读 · 0 评论 -
numpy.eye()函数
参考文章:添加链接描述numpy.eye(N,M =无,k = 0,dtype = &amp;amp;lt;class’flove’&amp;amp;gt;,order =‘C’ )返回一个二维数组,其中对角线为1,零点为零。参数: N : int输出中的行数。M : int,可选输出中的列数。如果无,默认为Ñ。k : int,可选对角线的索引:0(默认值)指的是主对角线,正值指的是上对角线,负值指的是下对角线...转载 2019-03-07 11:30:03 · 16515 阅读 · 1 评论