- 博客(10)
- 收藏
- 关注
原创 【LeetCode】14.最长公共前缀字符串【Python】
题目描述:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。方法一:一行代码解决!!!(48ms)class...
2019-07-18 14:58:45 284
原创 【LeetCode】680验证回文字符串2 【Python3】三种详细解法
题目描述:给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: “aba”输出: True示例 2:输入: “abca”输出: True解释: 你可以删除c字符。注意:字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。方法一:536msclass Solution: def validPalindrome(self, ...
2019-07-17 17:32:11 381
原创 【leetcode】125验证回文串【Python3】最详细解法(小白最爱)
题目给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: “A man, a plan, a canal: Panama”输出: true示例 2:输入: “race a car”输出: false思路分析:首先肯定得对字符串进行去空格、去符号、统一大小写操作,然后字符串转换成列表形式。...
2019-07-16 16:30:27 306
原创 动态规划入门
动态规划概述:动态规划是一种通过子问题的解来求原问题解的递归算法。动态规划是用来求解重叠子问题的,即不同的问题具有公共子问题。动态规划的核心就是对每个子问题只求解一次,将每个子问题的结果保留在一个数组中,从而无需每次求解子问题时都要重复计算,避免了不必要的重复计算。动态规划方法求解的问题类型:(1)**最优化问题:**对于一个问题有许多可行解,每一个解都有一个值,要求寻找具有最...
2019-07-15 11:47:24 155
原创 基本的排序算法
一、基于比较的排序算法定理1:基于比较的排序,时间复杂度下界为O(nlog2 n).证明:对于n个排序元素,在没比较时,可能的正确结果有n!种。经过一次比较后,其中两个元素的顺序被确定,所以可能的正确结果剩余n!/2种,依次类推,直到经过m次比较,剩余可能性为n!/(2^m)种,直到小于等于1时,结果只剩一种。此时的比较次数m为O(nlog2 n)次。1.1 选择排序算法步骤:首先在未...
2019-07-09 22:02:06 127
原创 基本算法设计
主要介绍七种基本的算法基础设计1.枚举2.递推3.递归3.贪心算法5.分治算法6.哈希7.二分法1.枚举枚举算法是指从可能的解集中一一列举出各个元素,用题目给定的约束条件判断哪些是满足题目条件的,哪些是不满足条件的,满足条件的即为可行解。枚举算法分为两步:1)确定解的范围,并逐一列举其中的元素;2)对列举每一个可能的解进行检验。2.递推谈到递推,我们很容易联想到高中数学里...
2019-07-09 11:31:57 520
原创 基本线性数据结构
基本线性数据结构包括:线性表,栈和队列。一、线性表线性表中数据元素是一对一的关系线性表的实现方法分为两种:数组和链表1.数组实现线性表数组是线性表的循序存储的实现方式,可以通过对数组的操作实现对线性表的各种操作。数组的主要操作有:值查询(search)、前端插入(push_front)、后端插入(push_back)、节点删除(delete)、下标查找(find)和插入(Insert...
2019-07-08 13:25:32 454
原创 算法的时间复杂度和空间复杂度
算法的时间复杂度指算法运行所需要的时间,空间复杂度指的是算法所需要的内存空间。一、时间复杂度算法的时间复杂度是一个函数,用大写字母O来表示,它描述的是数据量的增长导致的时间增长情况。例如O(2n)和O(n)是相同类型的时间复杂度,因为在数据量增加一倍的时候,时间开销都是增长一倍(线性增长)的。O(n^2)和O(n)是不同类型的时间复杂度,因为扩大一倍,前者时间消耗扩大四倍。且随着数据量的增长,...
2019-07-08 10:12:23 1661
原创 Python基础练习题之计算字符数与string内建函数
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。程序分析:利用 while 或 for 语句,条件为输入的字符不为 ‘\n’。import strings=input('请输入一行字符:\n')letters=0space=0digit=0others=0i=0while i<len(s): c=s[i]#引入变量c,序列化字符串S,通过循环...
2019-05-13 17:09:35 354
原创 Python基础练习题之 正整数分解质因数
Python基础练习题之 正整数分解质因数 题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。(3)如果n不...
2019-05-13 11:46:32 1647 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人