- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 Leetcode-70.爬楼梯-基于Python
70.爬楼梯-基于Python1、题目假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。2、解析动态规划思路和算法我们用 f(x) 表示爬到第 x 级台阶的方案数,考虑最后一步可能跨了一级台阶,也可能跨了两级台阶,所以我们可以列出如下式子:f(x) = f(x - 1) + f(x - 2)它意味着爬到第 x 级台阶的方案数是爬到第 x−1 级台阶的方案数和爬到第 x - 2 级台阶的方案
2021-01-19 22:35:43
221
原创 leetcode76-最小覆盖子串-基于Python
leetcode76-最小覆盖子串1、题目给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。2、解析class Solution: def minWindow(self, s: str, t: str) -> str: # 初始化,s_hash 即 t_hash 全零 s_hash, t_has
2021-01-19 22:26:17
227
原创 Leetcode62 -不同路径-基于Python
这里写目录标题62 -不同路径1、题目2、解析1-动态规划法3、解析2-排列组合62 -不同路径1、题目一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?2、解析1-动态规划法令 dp[i][j] 是到达 i, j 最多路径动态方程:dp[i][j] = dp[i-1][j] + dp[i][j-1]注意,对于第一行 d
2021-01-19 17:02:45
199
原创 Leecode-54\59\61-基于Python
54 螺旋矩阵给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。代码class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: if not matrix or not matrix[0]: return list() rows, columns = len(matri
2021-01-18 23:38:54
128
原创 Leetcode43、46、53-基于Python
43、字符串相乘class Solution: def multiply(self, num1: str, num2: str) -> str: if num1 == "0" or num2 == "0": return "0" ans = "0" m, n = len(num1), len(num2) for i in range(n - 1, -1, -1):
2021-01-17 23:42:14
76
原创 Leetcode-23、26、33-基于python
由于今晚有点事,没有认真做明天回来好好补23、合并K个升序链表1.1、题目给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。1.2 分析采用堆的方式# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Soluti
2021-01-16 23:51:27
121
原创 Leetcode21 - 合并两个有序链表-基于python
Leetcode21 - 合并两个有序链表-基于python1、题目2、解析3、代码4、知识点1、题目将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。2、解析方法:迭代设定一个哨兵节点 head ,这可以在最后让我们比较容易地返回合并后的链表。我们维护一个 L3指针,我们需要做的是调整它的 next 指针。然后,我们重复以下过程,直到 l1 或者 l2 指向了 null :如果 l1 当前节点的值小于等于 l2 ,我们就把 l1 当前的节点
2021-01-14 23:54:24
196
原创 Leetcode20-有效的括号-基于Python
Leetcode20-有效的括号-基于Python1、题目描述2、解析3、代码4、结果5、知识点总结1、题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。2、解析方法:栈+哈希映射第一步先进性字符串的判定如果字符串为基数,那么直接返回false对括号进行哈希映射看到右括号我们再去对栈里的左括号进行匹配首先遍历字符串中
2021-01-14 20:40:28
222
原创 leetcode16-最接近的三数之和-基于python
leetcode16-最接近的三数之和-基于pythonleetcode16-最接近的三数之和-基于python1、题目2、解析3、代码4、知识点leetcode16-最接近的三数之和-基于python1、题目给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target最接近。返回这三个数的和。假定每组输入只存在唯一答案。2、解析标签:排序和双指针本题目因为要计算三个数,如果靠暴力枚举的话时间复杂度会到 O(n^3)
2021-01-14 17:29:07
181
原创 Leetcode14-15-基于Python
Leetcode14-15-基于Python1、题目14编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。1.1、思路与代码运用横向扫描,不断进行比较,用两个函数进行控制class Solution: def longestCommonPrefix(self, strs: List[str]) -> str: if not strs: return "" prefix,count = s
2021-01-13 23:58:44
101
原创 Leetcode-整数转罗马数字-基于Python
Leetcode-整数转罗马数字-基于Python1、题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。2、解析方法一:拿到本题,首先想到的方法是列表检索,通过对输入的整数进行 // 和 %操作,通过商去搜索,通过余数进行再次操作。对于本题可以解决,但如果输入数字进行扩大,则列表也需要扩大,所示适用范围有限。方法二:看到了大佬官方的贪心算法进行普适性求解,同样通过列表。[算法一]class Solution: def intToRoman(self, nu
2021-01-13 23:13:44
105
原创 Leetcode11-盛最多水的容器
Leetcode11-盛最多水的容器1、题目给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。**说明:**你不能倾斜容器。2、解析刚看到这题的时候,我一开始考虑的是利用循环遍历,把所有的面积都求解一遍存储为数组,最后再用一个循环对所有面积进行大小比较,最后输出最大的面积,但这个方法至少用到3个循环
2021-01-13 15:51:37
61
原创 Leetcode09-回文数-基于Python
Leetcode09-回文数-基于Python题目判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。解析这题主要还是考察的回文数处理相对比较简单。边界条件负数都不是回文数,可以第一步进行排除一开始我打算用数组来做,但是构建两个数组进行比较需要用到循环,复杂度会上升,所以直接采用回文数计算再比较就好class Solution: def isPalindrome(self, x: int) -> bool: if x &l
2021-01-12 22:47:15
86
原创 Leetcode08-字符串转换整数 (atoi)-基于Python
Leetcode08-字符串转换整数 (atoi)-基于Python题目请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽
2021-01-12 22:20:53
55
原创 Leetcode07-整数反转-基于Python3
Leetcode07-整数反转-基于Python31、题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。2、分析对于python,可以将整数转换为数组,整数自带翻转功能。同时也可以一次构建一个翻转数对于本题的边界条件,首先输入数字不能超,其次需要考虑正负基于第一种方法的代码class Solution: def reverse(self, x: int) -> int: #当输入的整数为个位数时,直接输出 if -1
2021-01-12 21:25:57
198
原创 Leetcode05-最长回文子串
Leetcode05-最长回文子串题目给你一个字符串 s,找到 s 中最长的回文子串。解析什么是回文子串?回文子串是指从左边读到右边和从右边读到左边是一样的子串,如‘aba’、‘acca’、‘a’。对于大于1的子串去掉左右两边两个字符任然是回文子串。考虑使用动态规划的办法进行解决P(i,j)=P(i+1,j−1)∧(Si==Sj)class Solution: def longestPalindrome(self, s: str) -> str: n
2021-01-11 21:37:49
110
1
原创 Leetcode04-寻找两个正序数组的中位数
Leetcode04-寻找两个正序数组的中位数题目给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?解析首先,本题给出的数组是正序的,且要求时间复杂度为O(log (m+n)),那就得考虑采用二分法进行解答,如果不考虑二分法,可以考虑将两个数组进行拼接再排序,复杂度为O (m+n)。对于二分法,考虑采用两个指针来操作,首先计算两个数组的长度之和,如果m
2021-01-11 20:18:52
159
原创 Matlab自动驾驶工具箱(3)-路径规划与控制-checkPathValidity
Matlab自动驾驶工具箱(3)-路径规划与控制-checkPathValidity1、作用2、语法3、描述4、实例-路径规划并检查其有效性5、输入输出1、作用checkPathValidity检查车辆规划路径的有效性2、语法isValid = checkPathValidity(refPath,costmap)isValid = checkPathValidity(refPoses,costmap)3、描述isValid = checkPathValidity(refPath,costm
2020-11-18 22:50:36
1329
1
原创 Matlab自动驾驶工具箱(2)-路径规划与控制-path
Matlab自动驾驶工具箱(2)-路径规划与控制-path1、 作用2、语法3、描述4、实例5、输入参数6、 输出参数1、 作用plan函数的作用为使用RRT *路径规划器规划车辆路径2、语法refPath = plan(planner,startPose,goalPose)[refPath,tree] = plan(planner,startPose,goalPose)3、描述refPath = plan(planner,startPose,goalPose)使用pathPlannerR
2020-11-18 20:18:53
3314
2
原创 Matlab自动驾驶工具箱(1)-路径规划与控制-pathPlannerRRT
Matlab自动驾驶工具箱(1)-路径规划与控制-pathPlannerRRT1、功能描述2、创建2.1、语法2.2、功能描述3、实例3.1、规划通往停车场的路劲(Plan Path to Parking Spot)3.2、规划路径并检查其有效性1、功能描述pathPlannerRRT对象基于最佳快速探索随机树(RRT *)算法配置车辆路径规划器。 RRT *路径规划器通过构建随机无碰撞姿势的树来探索车辆周围的环境。 一旦配置了pathPlannerRRT对象,就可以使用plan功能来计划从起始姿势到目
2020-11-17 18:28:45
4108
4
原创 Leetcode03-无重复字符的最长子串-基于Python
题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。解题思
2020-11-04 22:15:16
206
原创 详解Python中def __init__(self)与def __init__(self.参数1、参数2······)的区别
两者的主要区别1.初始化参数为空的表述方式不同2. 初始化附参数的表达方式不同,结构2的self.name一定要指向上面的参数3. 实例化时的方法不同def init(self)与def init(self.参数1、参数2······)在类中常常被作为初始化使用,对于代码的简化,对代码中多次出现的类进行参数设定,提高代码的可读性有很大帮助,两者主要存在三个区别。1.初始化参数为空的表述方式不同#def __init__(self)结构class student: def __init
2020-11-01 16:54:35
4135
4
原创 Leetcode02-两数相加-基于python
1题目描述给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。2审题与思路1:本题主要考察了链表,链表是数据结构中一种非常重要的结构。关于python中链表的相关知识可以参考此篇文章https://www.cnblogs.com/king-ding/p/pythonchaintable.
2020-10-31 21:26:20
142
原创 Leetcode刷题01-两数之和(基于python3与C语言)
题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]基于python3方法1:利用Python序列求解算法分析:利用target-nums[i],在nums里寻找是否有目标值,有的
2020-10-27 23:08:43
189
2
原创 如何创建新的Python虚拟环境?
如何创建新的Python虚拟环境?1.1****问题来源众所周知,由于python具有很多库而被大量运用于工程项目中,但是不同得工程项目对于同一个库可能使用得版本不同,一些库的版本迭代不会造成大的影响,但一些库如tensorflow1.x于tensorflow2.x两个版本之间的差异巨大,且该库安装较为复杂。为了在一个编译器下能够同时使用不同版本的库,创建python的虚拟环境就很有必要了。1.2****创建方法1.2.1创建新的python环境①在anoconda3文件夹下打开Anoconda
2020-10-21 20:48:13
364
1
原创 Sigmoid函数解析
代码如下import numpy as npimport matplotlib.pyplot as pltdef sigmoid(x): return 1.0/(1+np.exp(-x))sigmoid_inputs = np.arange(-10,10,0.1)sigmoid_output = sigmoid(sigmoid_inputs)print("Sigmoid Function Input:{}".format(sigmoid_inputs))print("Sigmoid F
2020-10-21 20:09:07
730
原创 win10环境下对Pytorch与torchvision安装教程与心得
win10环境下对Pytorch与torchvision安装教程与心得环境基础python 3.6anoconda3软件安装1:在anoconda prompt 下用pip 与 conda tinghua镜像源安装一直报错,无法安装成功,这是因为torch的安装需要到torch官网根据自己的电脑配置调用不同语句进行安装2:torch官网官网链接3:运用安装语句直接安装,多进行几次注意点:1:在安装过程中如果提示steuptools版本过旧,则需要进行更新:pip install --u
2020-09-10 10:57:00
354
1
原创 #C语言学习#素数是只能被1和自身整除的正整数,试实现一个判断素数的函数,并利用该函数验证哥德巴赫猜想,及任何一个大于6的偶数均可表示为两个奇素数之和。
#C语言学习#素数是只能被1和自身整除的正整数,试实现一个判断素数的函数,并利用该函数验证哥德巴赫猜想,及任何一个大于6的偶数均可表示为两个奇素数之和。在这里插入代码片#include<stdio.h>#include<math.h>int prime( int p );void Goldbach( int n );int main(){ int m; pr...
2020-04-28 23:17:42
1199
1
基于python+tersonflow1+opencv+CNN车牌识别
2020-10-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人