
Python
Sulayman600
这个作者很懒,什么都没留下…
展开
-
leetcode每日一题152乘积最大子数组
152 乘积最大子数组给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。解法一:动态规划python版代码class Solution: def maxProduct(self, nums: List[原创 2020-05-19 15:44:17 · 494 阅读 · 0 评论 -
剑指offer0509:1、链表中环的入口节点/2、删除链表中重复的节点;二叉树的下一个节点
链表中环的入口节点题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。笔记:链表真的不够熟悉,实际是相当于找到列表中第一个重复的元素# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: ...原创 2019-05-10 10:22:50 · 164 阅读 · 0 评论 -
剑指offer:约瑟夫环问题,圆圈中最后剩下的数
链接:https://www.nowcoder.com/questionTerminal/11b018d042444d4d9ca4914c7b84a968来源:牛客网约瑟夫问题是一个非常著名的趣题,即由n个人坐成一圈,按顺时针由1开始给他们编号。然后由第一个人开始报数,数到m的人出局。现在需要求的是最后一个出局的人的编号。给定两个int n和m,代表游戏的人数。请返回最后一个出局的人的编号。...原创 2019-05-07 17:31:42 · 339 阅读 · 0 评论 -
剑指offer0515:1、矩阵中的路径;2、机器人的运动范围
1、矩阵中的路径题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abc...原创 2019-05-15 13:01:31 · 272 阅读 · 0 评论 -
剑指offer0510:1、对称的二叉树;2 按之字形顺序打印二叉树;3把二叉树打印成多行
1、对称的二叉树题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。笔记:刚看到题目,想的思路是求出此二叉树的镜像二叉树,再判断,现在发现思路都是错的,题目中的关键是 “如果一个二叉树同此二叉树的镜像是一样的”看评论区的笔记:mark/*思路:首先根节点以及其左右子树,左子树的左子树和右子树的右子树相同左子树的右子树和...原创 2019-05-10 21:01:09 · 173 阅读 · 0 评论 -
Leetcode:152、乘积最大子序列;295、数据流的中位数
152、乘积最大子序列中等给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。笔记:自己写的,时间复杂度太高不能通过, 找资料看的两种解法,...原创 2019-05-26 17:56:04 · 314 阅读 · 0 评论 -
Leetcosde:131、分割回文串;125、验证回文串;139、单词拆分;140、单词拆分II
131、分割回文串给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: “aab”输出:[[“aa”,“b”],[“a”,“a”,“b”]]方法1:回溯法class Solution: def partition(self, s: str) -> List[List[str]]: if no...原创 2019-05-24 11:20:20 · 194 阅读 · 0 评论 -
剑指offer:二叉树的深度/扑克牌顺子
二叉树的深度题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。笔记:非常经典和常考的题目,第二遍刷题还是自己写不出来了,刷题不能间断,所有想做的事情都是需要不断练习 坚持 毅力 时时刻刻的自制和奋斗解法1:非递归,在二叉树相关算法中经常使用的方法思路每一层每一层的下去,计算总共层数# -*- coding:u...原创 2019-06-16 11:17:06 · 188 阅读 · 0 评论 -
0616剑指offer刷题记录
0616上午1、数组中逆序对2、两个链表中第一个公共节点3、数字在排序数组中出现的次数4、二叉树的深度5、平衡二叉树6、数组中只出现一次的数字(最优解读了下,不一定写的出来,明天看运气)7、和为S的连续正数序列8/和为S的两个数字(简单)9/左旋转字符串(简单)10、翻转单词顺序序(简单)午休(Fighting!)...原创 2019-06-16 16:05:43 · 160 阅读 · 0 评论 -
openCV图像处理相关问题处理、总结、解答
1、数据增强-旋转https://blog.youkuaiyun.com/u014540717/article/details/533011952、图像滤波、模糊原创 2019-08-08 18:22:29 · 505 阅读 · 0 评论 -
python函数学习、使用问题及解答总结
1、python split(),os.path.split()和os.path.splitext()函数用法https://blog.youkuaiyun.com/T1243_3/article/details/80170006原创 2019-08-08 18:23:45 · 366 阅读 · 0 评论 -
秋招——算法、数据结构、编程问题总结
秋招——算法、数据结构、编程问题总结1、用两个栈模拟实现一个队列https://www.cnblogs.com/eniac12/p/4865158.html原创 2019-08-26 21:36:01 · 461 阅读 · 0 评论 -
剑指offer0514:1、序列化二叉树;2、二叉搜索树的第k个节点;3、数据流中的中位数
1、序列化二叉树题目描述请实现两个函数,分别用来序列化和反序列化二叉树笔记:不太能看到那个题目,看了评论区解析才知道 ,多做题呀~1.序列化是指通过前序遍历把二叉树变成数组2.反序列化是指重建二叉树前序遍历序列化,null序列化为‘#’,index 为全局变量链接:https://www.nowcoder.com/questionTerminal/cf7e25aa97c04cc1a6...原创 2019-05-14 19:23:18 · 272 阅读 · 0 评论 -
剑指offer0507:正则化表达式匹配;表示数值的字符串;字符流中第一个不重复的字符
正则化表达式匹配题目描述请实现一个函数用来匹配包括’.‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配解析:链接:https://www.nowcoder.com/questionT...原创 2019-05-08 15:13:06 · 276 阅读 · 0 评论 -
0417:剑指offer:3、从头到尾打印链表;4、用两个栈实现队列
3、从头到尾打印链表题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。笔记:很简单问题,自己写出来,注意的是,此题是返回一个list,所以存的是链表的值,不用存储指针,不是翻转链表~# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x#...原创 2019-04-17 22:56:35 · 161 阅读 · 0 评论 -
剑指offer:20、数组中的逆序对;21、连续子数组的最大和;22、整数中1出现的次数
20、数组中的逆序对题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%100000000示例1输入1,2,3,4,5,6,7,0输出7笔记:题目很简单,然而按照写出来的,不能通过会超时,找了博客,看到的思路更加简洁(牛逼)的方法:先将原序列...原创 2019-04-10 23:11:34 · 291 阅读 · 0 评论 -
单链表的翻转python
反转链表输入一个链表,反转链表后,输出新链表的表头。笔记:看到第一思路是用list做,结果一直出错,看了高分回答不太理解,找了资料,直到找到最详细的图解博客,感谢大神~https://blog.youkuaiyun.com/feliciafay/article/details/6841115...转载 2019-04-15 16:26:15 · 399 阅读 · 0 评论 -
剑指offer:11、合并两个排序的链表;12、树的子结构;13、二叉树的镜像
11、合并两个排序的链表输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。划重点:参加旷视科技宣讲会现场面试遇到这道题,原题,。。。可是那个时候还没刷到,还是刷题太少了,评论区好多刷了600+、300+的自己当时解题思路太简单了,主要没有算法知识,不懂链表(捂脸),当时想的是列表合并,sort函数排序。。。解法1:评论区看到的,递归和非递归版本...原创 2019-04-09 09:29:43 · 202 阅读 · 0 评论 -
0415:时间复杂度和空间复杂度详解+剑指offer:29、数组中只出现一次的数字
介绍时间复杂度和空间复杂度的博客,忘记可以复习一下~算法的时间和空间复杂度:https://blog.youkuaiyun.com/jsjwk/article/details/84315770算法的时间和空间复杂度的计算: https://blog.youkuaiyun.com/daijin888888/article/details/66970902时间复杂度和空间复杂度的简单讲解:https://blog.cs...原创 2019-04-15 21:22:29 · 248 阅读 · 0 评论 -
0415:31、二维数组的查找
31、二维数组的查找题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。笔记:如果只是做出通过就很简单了,难的是寻找最优解法~解法1:评论区的O(n)时间复杂度O(1)空间复杂度# -*- coding:utf-8 -*-class Sol...原创 2019-04-15 22:50:54 · 176 阅读 · 0 评论 -
剑指offer:13、二叉搜索树的后序遍历序列;14、二叉树中和为某一值的路径;14、复杂链表的复制
13、二叉搜索树的后序遍历序列解题思路:看评论明白的解题思路,学习~采用分治法的思想,找到根结点、左子树的序列、右子树的序列,分别判断左右子序列是否为二叉树的后序序列。二叉搜索树后序序列特征:最后一个值为root,左子树的值都比root小,右子树的值都比root大。解题过程:1、确定root2、遍历序列(除去root后),找到第一个比root大的值的位置,该位置左边为左子树,右边为右子...原创 2019-04-09 15:24:05 · 165 阅读 · 0 评论 -
剑指offer:15、二叉搜索树与双向列表;16、字符串的排列;17、数组中出现次数超过一半的数字(划重点:旷视现场面试编程题)
15、二叉搜索树与双向列表题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。笔记:看起来似乎很简单,但是一上来完全没有思路,看了答案挺复杂评论区看的思路:不太理解,后面补一补知识,理解透方法二:递归版解题思路:1.将左子树构造成双链表,并返回链表头节点。2.定位至左子树双链表最后一个节点。3.如果左子树链表不...原创 2019-04-09 22:25:21 · 228 阅读 · 0 评论 -
0422:11、二进制中1的个数;12两个链表的第一个公共节点
11、二进制中1的个数题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。笔记:对与负数的补码1的个数计算,关键是转换负数的补码不能写出来,看评论区的答案~解法1:n加上2的32次方表示的是负数的补码形式~# -*- coding:utf-8 -*-class Solution: def NumberOf1(self, n): # write ...原创 2019-04-25 21:05:28 · 192 阅读 · 0 评论 -
0418:5、斐波那契数列;6、跳台阶;7、矩形覆盖
5、斐波那契数列题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39解答:第一个自己的,第二个动态规划,第三个# -*- coding:utf-8 -*-class Solution: def Fibonacci(self, n): # write code here if...原创 2019-04-22 10:16:52 · 167 阅读 · 0 评论 -
0424:13、平衡二叉树;14、和为S的连续正数数列;
13、平衡二叉树题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。笔记:涉及二叉树的深度的计算,用的是递归# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right ...原创 2019-04-26 11:52:58 · 195 阅读 · 0 评论 -
0426:14、和为S的两个数;15、求1+2+3+...+n的和
14、和为S的两个数:题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,小的先输出。笔记:自己写加调试出来了,但是复杂了好多,看排行,好简洁方法1: # -*- coding:utf-8 -*-class Solution: def FindNum...原创 2019-04-26 19:36:17 · 299 阅读 · 0 评论 -
Leetcode刷题笔记(Python)20190322
Leetcode 编程每日练习笔记0315给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。解法1def solution(nums,target):if len(nums) < 2:returnfor i in range(0,len(nums) - 1):for j in range(i + 1, len(nums)):if nums[i] + nums[j...原创 2019-03-22 21:24:05 · 493 阅读 · 0 评论