
python刷题
aaaqqq1234
这个作者很懒,什么都没留下…
展开
-
孩子们的游戏
class Solution: def LastRemaining_Solution(self, n, m): x = 0 if n == 0: return -1 elif n == 1: return 0 for i in range(2,n+1): x = (x + m)%i r原创 2020-09-15 12:06:31 · 123 阅读 · 0 评论 -
最长公共前缀
def longestCommonPrefix(strs): if len(strs) == 0: return '' if len(strs) == 1: return strs[0] s = '' minlen = float('inf') for i in strs: leni = len(i) minlen = min(minlen, leni) for i in range(minlen原创 2020-08-27 18:37:09 · 100 阅读 · 0 评论 -
约瑟夫问题
标题class Solution: def LastRemaining_Solution(self, n, m): x = 0 if n == 0: return -1 elif n == 1: return 0 for i in range(2,n+1): x = (x + m)%i原创 2020-08-26 13:45:50 · 127 阅读 · 0 评论 -
丑数
标题class Solution: def GetUglyNumber_Solution(self, index): if index == 0: return 0 dp = [0]*index dp[0]=1 a,b,c = 0,0,0 for i in range(1,index): na = dp[a]*2 nb = dp[b]*3原创 2020-08-26 13:44:34 · 89 阅读 · 0 评论 -
分割回文最小次数
标题class Solution: def minCut(self, s): if not s: return 0 s_len = len(s) mem = [i for i in range(-1, s_len)] for i in range(1, s_len + 1): for j in range(i): if s[j:i] == s[j:i][:原创 2020-08-26 13:42:15 · 146 阅读 · 0 评论 -
子串判断
题目现有一个小写英文字母组成的字符串s和一个包含较短小写英文字符串的数组p,请设计一个高效算法,对于p中的每一个较短字符串,判断其是否为s的子串。给定一个string数组p和它的大小n,同时给定string s,为母串,请返回一个bool数组,每个元素代表p中的对应字符串是否为s的子串。保证p中的串长度小于等于8,且p中的串的个数小于等于500,同时保证s的长度小于等于1000。测试样例:[“a”,“b”,“c”,“d”],4,“abc”返回:[true,true,true,false]思路没原创 2020-07-09 19:28:30 · 174 阅读 · 0 评论 -
最长合成字符串
题目题目描述有一组单词,请编写一个程序,在数组中找出由数组中字符串组成的最长的串A,即A是由其它单词组成的(可重复)最长的单词。给定一个string数组str,同时给定数组的大小n。请返回最长单词的长度,保证题意所述的最长单词存在。测试样例:[“a”,“b”,“c”,“ab”,“bc”,“abc”],6返回:3思路先对给出的字符串创建一个字典,并赋值True,然后在对字符串按长度大小排序,依次处理。如先读入第一个最长的字符串,从一个字母开始拆分,如dict,第一次拆分:d,ict第二次原创 2020-07-09 19:12:03 · 358 阅读 · 0 评论 -
单词最近距离
题目有一篇文章内含多个单词,现给定两个单词,请设计一个高效算法,找出文中这两个单词的最短距离(即最少相隔的单词数,也就是两个单词在文章中位置的差的绝对值)。给定一个string数组article,代表所给文章,同时给定文章的单词数n和待查找的两个单词x和y。请返回两个单词的最短距离。保证两个单词均在文中出现且不相同,同时保证文章单词数小于等于1000。思路遍历数组,记录下所有x,y的出现的下标,然后对x和y 的所有下标做差,找出最小的绝对值距离。代码class Distance: def原创 2020-07-07 21:41:14 · 124 阅读 · 0 评论 -
词频统计
题目请设计一个高效的方法,找出任意指定单词在一篇文章中的出现频数。给定一个string数组article和数组大小n及一个待统计单词word,请返回该单词在文章中的出现频数。保证文章的词数小于等于1000。思路太简单没有思路代码class Frequency: def getFrequency(self, article, n, word): num = 0 for i in range(0,n): if word == artic原创 2020-07-07 21:07:05 · 152 阅读 · 0 评论 -
变位词排序
题目请编写一个方法,对一个字符串数组进行排序,将所有变位词合并,保留其字典序最小的一个串。这里的变位词指变换其字母顺序所构成的新的词或短语。例如"triangle"和"integral"就是变位词。给定一个string的数组str和数组大小int n,请返回排序合并后的数组。保证字符串串长小于等于20,数组大小小于等于300。测试样例:[“ab”,“ba”,“abc”,“cba”]返回:[“ab”,“abc”]思路先对列表里的字符串排序,然后在判断排序后的字符串是否在字典里,不在就加到字典里,原创 2020-07-04 21:03:29 · 171 阅读 · 0 评论 -
约瑟夫问题2
题目约瑟夫问题是一个著名的趣题。这里我们稍稍修改一下规则。有n个人站成一列。并从头到尾给他们编号,第一个人编号为1。然后从头开始报数,第一轮依次报1,2,1,2…然后报到2的人出局。接着第二轮再从上一轮最后一个报数的人开始依次报1,2,3,1,2,3…报到2,3的人出局。以此类推直到剩下以后一个人。现在需要求的即是这个人的编号。给定一个int n,代表游戏的人数。请返回最后一个人的编号测试样例:5返回:5思路此题,n个人一次报数,第一次121212。。,第二次123123123.。。,故利用p原创 2020-07-04 19:21:29 · 960 阅读 · 0 评论 -
合法括号判断
题目对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串。给定一个字符串A和它的长度n,请返回一个bool值代表它是否为一个合法的括号串。测试样例:“(()())”,6返回:true测试样例:“()a()()”,7返回:false思路先构建一个列表,碰到‘(’,加入列表,碰到‘)’,则弹出列表的最后一个,当遍历梅结束时,列表为空,则返回False。遍历结束判断列表是否为空即可。代码class Parenthesis: def chkParenthesis(self,原创 2020-07-04 17:25:44 · 257 阅读 · 0 评论 -
机器人走方格
题目有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。注意这次的网格中有些障碍点是不能走的。给定一个int[][] map(C++ 中为vector >),表示网格图,若map[i][j]为1则说明该点不是障碍点,否则则为障碍。另外给定int x,int y,表示网格的大小。请返回机器人从(0,0)走到(x - 1,y - 1)的走法数,为了防止溢出,请将结果Mod 1000000007。保证x和y均小于等于50思路此题用原创 2020-07-04 16:52:04 · 222 阅读 · 0 评论 -
字符串压缩
字符串题4利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。给定一个string iniString为待压缩的串(长度小于等于10000),保证串内字符均由大小写英文字母组成,返回一个string,为所求的压缩后或未变化的串。测试样例“aabcccccaaa”返回:“a2b1c5a3”“welcometonowcoderrrrr”返回:“welcometonowc原创 2020-07-03 20:21:49 · 325 阅读 · 0 评论 -
字符串乱序同构
题3给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串中的空格。给定一个string stringA和一个string stringB,请返回一个bool,代表两串是否重新排列后可相同。保证两串的长度都小于等于5000。测试样例:“This is nowcoder”,“is This nowcoder”返回:true“Here you are”,“Are you here”返回:false思路1分别对字符串排序,然后原创 2020-07-03 18:17:58 · 172 阅读 · 0 评论 -
翻转字符串
字符串题2题目描述请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。“This is nowcoder”返回:“redocwon si sihT”思路先创建一个空列表,然后for 循环遍历字符串的每一个字符,并把它放到列表里,然后倒叙去除列表的每一个字符,构成新的字符串代码class Reverse: def re原创 2020-07-03 17:28:10 · 139 阅读 · 0 评论 -
字符串题1
@TOP字符串题1题目描述请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符。字符串的长度小于等于3000。。思路暴力解法,一个i,一个j遍历整个字符串,j从i后面一个开始,两个for 循环,一次比较是否一致,若一致,temp+1,最后判断temp是否为0即可。代码class Different原创 2020-07-03 17:11:20 · 586 阅读 · 0 评论