leetcode学习
YYYYYJY
这个作者很懒,什么都没留下…
展开
-
16期学习——leetcode
task1 分治思想分支算法步骤:例题leetcode 53.最大子序和leetcode 50.pow(x,n)leetcode 169.多数元素分治算法的主要思想是将原问题递归地分成若干个子问题,直到子问题满足边界条件,停止递归。将子 问题逐个击破(一般是同种方法),将已经解决的子问题合并,后,算法会层层合并得到原问题的答 案。分支算法步骤:分:递归地将问题分解为各个的子问题(性质相同的、相互独立的子问题);治:将这些规模更小的子问题逐个击破;合:将已解决的子问题逐层合并,终得出原问题的解原创 2020-08-19 12:41:21 · 157 阅读 · 0 评论 -
leetcode03:无重复字符的最长子串
题目:给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。我在写这个题时,采用了暴力解法,采用两层循环,第一层循环遍历主串,第二层循环判断当前字符串存在于字串中否,时间复杂度较大。较好的解法class Solution: def lengthOfLongestSubstr原创 2020-06-18 21:17:16 · 95 阅读 · 0 评论 -
leetcode02:两数相加
题目:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807# Definition for singly-linked原创 2020-06-16 22:36:34 · 121 阅读 · 0 评论 -
leetcode01:两数之和
题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]自己的做法:def twoSum(nums, target): index1 = 0 result = []原创 2020-06-16 15:16:22 · 133 阅读 · 0 评论