![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日一题
今天敲代码了么
这个作者很懒,什么都没留下…
展开
-
leetcode个人记录3:无重复字符的最长子串 by python(19.11.1)
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复...转载 2019-11-04 20:10:45 · 90 阅读 · 0 评论 -
leetcode个人记录2:两数相加 by python or C(19.11.3)
给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 ...转载 2019-11-04 17:29:08 · 88 阅读 · 0 评论 -
leetcode个人记录1:两数之和 by python(19.11.2)
给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]题目链接:http...转载 2019-11-04 13:17:26 · 133 阅读 · 0 评论 -
每天一题:字符翻转 by python(19.9.10)
题目描述将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I输入描述: 每个测试输入包含1个测试用例: I like beijing. 输入用例#长度不超过100输出描述: 依次输出倒置之后的字符串,以空格分割示例1输入:I like beijing.输出:beijing. like I代码:s = [x f...原创 2019-09-10 21:28:56 · 133 阅读 · 0 评论 -
每天一题:复数的乘法 by python(19.9.10)
题目描述:输入两个表示复数的字符串,输出它们相乘的结果的字符串,复数的字符串用a+bi表示(a,b为整数,i为虚数单位,i^2=-1))输入描述:两个表示复数的字符串输出描述:两个数相乘的结果字符串样例描述:输入 1+2i 2+i 输出 0+5i 代码:def solution(num1,num2): a, b = []...原创 2019-09-10 22:00:56 · 286 阅读 · 0 评论 -
每天一题:输出第几天 by python(19.9.10)
题目描述:输入一个“YYYY-MM-dd”格式的日期字符串,输出这一天是当年的第几天(1月1日是每年的第一天)输入描述:一个“YYYY-MM-dd”格式的表示日期的字符串输出描述:这一天是当年的第几天示例:输入: 2019-01-09 输出:9 输入:2004-03-01 输出:61思路:首先判断是不是闰年;再根据闰年做相应的处理代码:def i...原创 2019-09-10 22:16:53 · 270 阅读 · 0 评论 -
每天一题:翻转链表 by python(19.9.10)
题目描述:给一个链表,每k个节点一组进行翻转,请返回翻转后的链表;如果节点总数不是k的整数倍,那么请将最后剩余节点保持原有顺序示例:给定这个链表:1>2>3>4>5当k=2,应该返回:2>1>4>3>5当k=3,应该返回:3>2>1>4>5输入描述:第一行:依次输入链表中的各个元素,以“#”结束...原创 2019-09-11 09:14:29 · 68 阅读 · 0 评论 -
每日一题:最长公共子序列 by python(19.9.14)
LCS问题题目描述:给定两个字符A和B,长度分别是m和n,要求找出他们最长公共子序列,并返回其长度例如:A= "HelloWorld"B= "loop"最长公共子序列是“loo”,返回的长度是3,注:最长公共子串是“lo”,具体思路是:def LCS(string1,string2): len1 = len(string1) len2 = len(...原创 2019-09-15 20:46:41 · 257 阅读 · 0 评论 -
每日一题:最长重复子序列 by python(19.9.11)
题目描述:输入两个整数序列A和B,输出同时在A,B中间出现的最长子序列长度,注意,子序列由原序列的连续元素构成输入:第一行第一个数n,表示序列A的长度第二行n个数,表示序列A第三行第一个数m,表示序列B的长度第四行m个数,表示序列B输出:样例:51 2 3 2 153 2 1 4 7输出: 3class Solution(): def...原创 2019-09-11 20:30:54 · 820 阅读 · 0 评论 -
每日一题:最大连续子序列和 by python(19.9.12)
题目描述:给定K个整数的序列{N1,N2, ....,NK},其任意连续子序列可表示为{Ni, Ni+1, Nj},其中1<=i<=j<=K,最大的连续子序列是所有连续子序中元素和最大的一个,例如给定序列{-2,11,-4,13,-5,-2},其最大连续子序列为{11,-4,13},最大和为20样例输入:1 2 3样例输出:6思路描述:动态规划,用result...原创 2019-09-12 14:38:14 · 128 阅读 · 0 评论 -
每日一题:买卖股票的最佳时机 by python(19.9.13)
题目描述:假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你一天最多只允许完成一次交易(一次买卖股票),设计一个算法来找出最大利润。输入:正整数序prices,其中第i个数代表了第i天的价格输出:两次交易后获得的最大利润样例输入:2 1 5 0 2 3 1 4输出: 10class Solution: def maxProfit(self, p...原创 2019-09-15 19:49:55 · 81 阅读 · 0 评论 -
每日一题:最长公共子串(要求是连续的) by python(19.9.15)
LCS问题题目描述:给定两个字符A和B,长度分别是m和n,要求找出他们最长的相同子字符串的长度,并返回其长度子序列不要求连续,但是子串要求是连续的例如:A= "HelloWorld"B= "loop"最长公共子串是“lo”,返回的长度是2,注:最长公共子序列是“loo”具体思路是:和最长公共子序列一样,使用动态规划的算法。def LCstring(stri...原创 2019-09-15 21:27:08 · 198 阅读 · 0 评论 -
每日一题:畅通工程(要求成本最低) by python(19.9.16)
题目来自于:http://acm.hdu.edu.cn/showproblem.php?pid=1232这道题考察的是并查集的内容题目描述: 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。...原创 2019-09-17 13:52:00 · 445 阅读 · 0 评论 -
每日一题:畅通工程(建多少路) by python(19.9.17)
HDU_1232畅通工程:题目描述:某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道...原创 2019-09-17 14:27:54 · 329 阅读 · 0 评论 -
每日一题:求二叉树的高度 by python(19.9.17)
题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。方法分成递归和非递归递归方法是:# -*- coding:utf-8 -*-class TreeNode: def __init__(self, x): self.val = x self.left = Non...原创 2019-09-17 16:09:13 · 2950 阅读 · 0 评论 -
每日一题:判断对称二叉树 by python (19.9.17)
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。有两种方法,一种是递归的:class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solut...原创 2019-09-17 20:29:00 · 378 阅读 · 0 评论 -
每日一题:滑动窗口的最大值 by python
题目描述:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2...原创 2019-09-17 20:42:27 · 401 阅读 · 1 评论 -
每日一题:剪绳子 by python(19.9.17)
给你一根长度为n的绳子,请把绳子剪成m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],...,k[m]。请问k[0]xk[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。class Solution: def cutRope(self, n): ...原创 2019-09-17 20:53:30 · 284 阅读 · 0 评论 -
每日一题:圆圈中最后剩下的数
题目描述首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去....直到剩下最后一个小朋友返回这个小朋友的编号。请你试着想下,哪个小朋友会得到这份礼品呢?(注:小朋友的编号是从0到n-1)如果没有小朋友,请返回-1代码:class...翻译 2019-09-17 21:31:54 · 133 阅读 · 0 评论 -
二叉树的前序遍历 递归与非递归方法
常见的递归方法:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = None class Solution(o...翻译 2019-09-17 21:41:49 · 185 阅读 · 0 评论 -
二叉树的后序遍历
递归:# 后序打印二叉树(递归)def postOrderTraverse(node): if node is None: return None postOrderTraverse(node.left) postOrderTraverse(node.right) print(node.val)非递归:# 后序打印二叉树(非递归)...翻译 2019-09-17 21:48:18 · 103 阅读 · 0 评论 -
每日一题:最长回文字串 by python(19.9.18)
题目描述:给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为1000。示例 1输入: "babad"输出: "bab"注意: "aba"也是一个有效答案。输入: "cbbd"输出: "bb"返回最长回文子串或最长子串的长度def longeststr(s): k = len(s) # 计算字符串的长度 matrix...原创 2019-09-18 22:13:20 · 81 阅读 · 0 评论 -
每日一题:进制转换 python (19.9.21)
题目描述:十进制的数值转换成N进制的字符输出代码:def baseN(num, N): res = '' while (num != 0): res += num2str(num % N) num = num // N return resdef num2str(cr): if str(cr) in "01234567...原创 2019-09-21 22:29:48 · 123 阅读 · 0 评论 -
每日一题:制作简易的计算器 by python (19.9.19)
题目描述:制作一个简易的计算器,可以实现两个数之间的加减乘除输入描述:比如输入表达式4+2输出描述:计算领个输入数据的运算结果,如6样例:输入——4+2输出:6代码描述:while True: try: s = ''+ input() all_k = ['+','-','*','/'] for x in all_k:...原创 2019-09-22 14:40:18 · 438 阅读 · 0 评论 -
每日一题:叠加的次数 by python (没做出来啊,求大神解答) (19.9.20)
题目描述:输入数字A,B,p,q,其中A<B,每一次进行的操作是A+p或p*q,输出最少经过多少次可以实现A>=Bclass Solution: def __init__(self): self.right = 0 self.left = 0 def min_num(self, a, b, p, q): if b &...原创 2019-09-22 15:33:14 · 180 阅读 · 0 评论 -
每日一题:配置工号 by python (19.9.21)
将N(N<10000)个人排成一排,从第一个人开始报数,如果报数是M的倍数就出列,报到队尾后则回到队头继续报,直到所有人都出列。输入描述:输入2个正整数,空格分隔,第一个代表人数N,第二个代表M输出描述:输出一个int数组,每个数据表示原来在队列里面的位置用空格分隔。样例:输入:6 3输出:3 6 4 2 5 1def solution(N,M): # ...原创 2019-09-22 19:01:01 · 551 阅读 · 0 评论 -
每日一题:二叉搜索树的后序遍历序列 by python (19.10.7)
题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。具体思路: 一棵 BST (二叉搜索树):左孩子 < 根结点 < 右孩子 一棵 BST 的左子树或者右子树都是 BST 发现对于每一棵子树,它的根结点总是对应该子树的后序序列的最后一个数,那么,只需要不断地确定出...原创 2019-10-07 21:24:46 · 90 阅读 · 0 评论 -
每日一题:构建乘积数组 By python (19.10.6)
题目描述:给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。思路描述:数组指的是乘积除去当前位置的乘积,即如下图的意思思路是先乘以后面部分,再乘以后面的部分class Solution: def multiply(se...原创 2019-10-07 21:42:53 · 94 阅读 · 0 评论 -
每日一题:“之”字打印二叉树 by python(19.10.5)
题目描述:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = Non...原创 2019-10-07 21:51:45 · 77 阅读 · 0 评论 -
每日一题:正则表达式匹配 by python (19.10.4)
题目描述:请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。示例:字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配思路描述:首先,考虑特殊情况:两个字符串都为空,返回true 当第一个字...原创 2019-10-07 22:05:03 · 209 阅读 · 0 评论 -
每日一题:删除链表中重复的结点 by python(19.10.3)
题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# ...原创 2019-10-07 22:14:19 · 76 阅读 · 0 评论 -
每日一题:
题目描述:请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。代码解析:class Solution: # 返回对应char def __init__(self): self.s='' ...原创 2019-10-07 22:31:33 · 111 阅读 · 0 评论 -
每日一题:复杂链表的复制 by python (19.10.2)
题目描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)尝试其中的结果:# -*- coding:utf-8 -*-# class RandomListNode:# def __init__(self,...翻译 2019-10-08 16:33:22 · 105 阅读 · 0 评论 -
每日一题:链表中环的入口 by python(19.10.1)
题目描述:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。思路描述1.遍历链表,建立一个列表保存中间过程的结果,当出现再次出现的值时,就说明有环# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# se...转载 2019-10-08 19:58:52 · 942 阅读 · 0 评论 -
每日一题:扑克牌顺子 by python (19.9.30)
题目描述:LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12...转载 2019-10-08 20:42:11 · 112 阅读 · 0 评论 -
每日一题:二叉树中和是整数的路径
题目描述:输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)解题思路:对树进行遍历,左右子树进行递归处理# -*- coding:utf-8 -*-# class TreeNode:# def __init__(sel...转载 2019-10-08 21:01:19 · 99 阅读 · 0 评论 -
每日一题:二叉搜索树的第k个结点(19.9.29)
题目描述:给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。具体思路:先根据中序遍历排好序,再输出后面第几个就是需要的结果# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val...原创 2019-10-08 21:22:03 · 67 阅读 · 0 评论