
python
python基础知识及编程
moonbaby1
记录学习
展开
-
加一(力扣66)
题目描述给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。链接:https://leetcode-cn.com/problems/plus-one示例1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示..原创 2021-08-28 18:12:17 · 102 阅读 · 0 评论 -
mac安装requests包
mac本身含有python2,安装了Python3.7,。直接使用python指令会执行到python2。python a.pyImportError: No module named requests如果需要用python3环境,指令python3,python3 a.py。安装requests包 brew install requests结果会报错。使用pip install requests会报错,直接使用pip install requests将requests安装原创 2021-07-22 10:51:16 · 1898 阅读 · 1 评论 -
合并区间(力扣56)
题目描述给出一个区间的集合,请合并所有重叠的区间。输入输出示例示例 1:输入: intervals = [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例2:输入: intervals = [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。思路:代码class S..原创 2021-01-18 17:51:04 · 102 阅读 · 0 评论 -
最长公共前缀(力扣14)
题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。输入输出输入:strs = ["flower","flow","flight"]输出:"fl"横向扫描class Solution: def longestCommonPrefix(self, strs: List[str]) -> str: if not strs: return "" prefix,count=s.原创 2021-01-18 17:29:03 · 158 阅读 · 1 评论 -
爬虫
一.爬虫的基本流程1.请求目标2.请求网页(第三方库request)、3.解析网页4.保存数据二.爬虫天气原创 2021-01-17 15:50:55 · 219 阅读 · 0 评论 -
两数之和-O(N)
题目描述给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。输入输出方法一:时间复杂度O(N*N)class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: for i in ra...原创 2021-01-13 22:51:41 · 252 阅读 · 0 评论 -
python使用h5py读取mat文件数据
目录一.matlab生成.mat文件二.读取mat文件数据一.matlab生成.mat文件a=[];List =dir('C:\Users\Administrator\Desktop\code\lstmdata\pri*.mat');k =length(List);for i=1:k file_name{i}=List(i).name; temp=importdata(file_name{i}); %temp=temp'; a=[a;temp];en原创 2020-11-28 22:32:52 · 8482 阅读 · 1 评论 -
三数之和
题目描述给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。输出输入思路分析特例,对于数组长度 n,如果数组为 null 或者数组长度小于 3,返回 []。对数组进行排序。遍历排序后数组:若 nums[i]>0:因为已经排序好,所以后面不可能有三个数加和等于 0,直接返回结果。对于重复元素:跳过,避免出现重复解令左指针 ...原创 2020-09-01 22:03:40 · 113 阅读 · 0 评论 -
力扣(7)--整数反转
题目描述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。思路先转字符串,符号位单独考虑。对只有数字的字符串进行反转,再转为整数型,最后与符号位相乘输出import math class Solution: def reverse(self, x: int) -> int: label=1 begin=0 s=str(x) if s[0]=="+": label原创 2020-08-28 10:34:47 · 126 阅读 · 0 评论 -
剑指offer(49)、力扣(8)--字符串转整数
题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0python实现import sysclass Solution: def StrToInt(self, s): # write code here if not s: return原创 2020-08-28 09:29:31 · 137 阅读 · 0 评论 -
剑指offer(48)--最长不重复字符子串
题目描述请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。思路分析滑动窗口双指针1.初始化头尾指针 head,tail;2.tail 指针右移,判断 tail 指向的元素是否在 [head:tail] 的窗口内;如果窗口中没有该元素,则将该元素加入窗口,同时更新窗口长度最大值,tail 指针继续右移; 如果窗口中存在该元素,则将 head 指针右移,直到窗口中不包含该元素。3.返回窗口长度的最大值。def lengthOfLongestSubs原创 2020-08-27 17:10:23 · 175 阅读 · 0 评论 -
剑指offer(43、44)翻转字符串、旋转字符串 力扣(557)反转字符串中的单词
一.不全部翻转s=input()s=s.split(' ')s=s[::-1]print(' '.join(s))二.全部翻转1.先翻转单词,再单词内部翻转s=input()s=s.split(' ')s=s[::-1]res=[]for i in s: i=i[::-1] res.append(i)print(' '.join(res))三.左旋转字符串python切片S=”abcXYZdef”,输出为XYZdefabcdef原创 2020-08-27 10:48:19 · 142 阅读 · 0 评论 -
剑指offer(34)--第一个只出现一次的字符
一.找出第一个出现一次字符的位置enumerate:将可遍历的数据对象(列表、数组、字符串)组合为索引序列,同时返回数据和下标def FirstNotRepeatingChar(self, s): # write code here if s=='': return -1 for index,val in enumerate(s): if s.count(val)==1:原创 2020-08-27 10:57:54 · 124 阅读 · 0 评论 -
力扣103--二叉树的锯齿形遍历
题目描述给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。分析思路双端队列def zigzagLevelOrder(self, root: TreeNode) -> List[List[int]]: if not root: return [] q=collections.deque() q.append(root) mar原创 2020-08-16 22:49:03 · 341 阅读 · 0 评论 -
力扣124-二叉树的最大路径和
题目描述给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。输入输出思路分析二叉树后序遍历问题。节点的最大贡献值等于节点值与其子节点中的最大贡献值之和(对于叶节点而言,最大贡献值等于节点值)。空节点的最大贡献值等于0。节点的最大路径和取决于该节点的值与该节点的左右子节点的最大贡献值,如果子节点的最大贡献值为正,则计入该节点的最大路径和,否则不计入该节点的最大路径和。维护一个全局变量.原创 2020-08-14 17:49:21 · 324 阅读 · 0 评论 -
字符串:判断回文串、将字符串中的0移到最后、消除字符对
目录一.判断回文串1.1最长回文子串1.2判断回文子串二.将字符串中的0移到最后三.字符串中相同字符删除(消除字符对)一.判断回文串1.1最长回文子串def help(i,j,s): while(i<j): if(s[i]!=s[j]): return False i+=1 j-=1 return Truewhile(True): s=input() length原创 2020-06-11 22:58:19 · 287 阅读 · 0 评论 -
python错误:list assignment index out of range解决方法
1.题目:求连续子数组的最大和2.思路:动态规划dp[i] = dp[i-1] + array[i]if dp[i-1] > 0dp[i] = array[i]if dp[i-1] < 0需要定义一个和array一样大小的列表dp存储当前子数组的和3.出现的报错:list assignment index out of range列表超过限制4.分析可能情况是:list[index]index超出范围另一种情况是:list是一个空的,没有一个...原创 2020-06-05 21:24:11 · 37454 阅读 · 0 评论