自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 LeetCode-0217.存在重复元素

题目描述:给你一个整数数组nums。如果任一值在数组中出现至少两次,返回true;如果数组中每个元素互不相同,返回false。class Solution(object): def containsDuplicate(self, nums): """ :type nums: List[int] :rtype: bool """ counts = collections.Counter(nums)...

2022-01-23 15:40:35 5334

原创 LeetCode-0169.多数元素

题目描述:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。方法一:计数法class Solution(object): def majorityElement(self, nums): """ :type nums: List[int] :rtype: int """ count = 1

2022-01-23 15:27:00 4898

原创 LeetCode-0167.两数之和Ⅱ-输入有序数组

题目描述:给定一个已按照 非递减顺序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 重复使用相同的元素。仿照第一题给出代码:class Solut

2022-01-21 20:54:14 320

原创 LeetCode-0136.只出现一次的数字

题目描述:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。思路一:使用一个list储存数字,遍历数组,若该元素不在list中,则将该元素加入list;若该元素已经存在于list中,则删除list中的数字。遍历结束,list中的数字则是只出现一次的数字。class Solution(object): def singleNumber(self, nums): """ :type nums: List[i

2022-01-21 14:25:08 4557

原创 LeetCode-0121.买卖股票的时机

题目描述:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例1:思路:动态规划。与之前求最大子序和类似,该题是求最大的差。class Solution(object): def maxProfit(self, price.

2022-01-10 22:37:16 122

原创 LeetCode-0119.杨辉三角Ⅱ

题目描述:给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。方法一:在上一题的基础上,返回指定行的数据class Solution(object): def getRow(self, rowIndex): """ :type rowIndex: int :rtype: List[int] """ if rowInde.

2022-01-10 22:00:35 288

原创 LeetCode-0118.杨辉三角

题目描述:给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和(图源自力扣)class Solution(object): def generate(self, numRows): """ :type numRows: int :rtype: List[List[int]] """ if numRows == 1: .

2022-01-10 18:39:20 224

原创 LeetCode-0108.将有序数组转换为二叉搜索树

题目描述:给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。思路:中序遍历# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, val=0, left=None, right=None):# self.val =

2022-01-10 18:05:07 136

原创 LeetCode-0088.合并两个有序数组

题目描述:给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。class Solution(

2022-01-10 17:05:50 45

原创 LeetCode-0066.加一

题目描述:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。class Solution(object): def plusOne(self, digits): """ :type digits: List[int] :rtype: List[int] """ leng

2022-01-10 15:43:12 145

原创 LeetCode-0053.最大子数组和

题目描述:给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。示例:一、动态规划法参考:思路这道题用动态规划的思路并不难解决,比较难的是后文提出的用分治法求解,但由于其不是最优解法,所以先不列出来动态规划的是首先对数组进行遍历,当前最大连续子序列和为 sum,结果为 ans如果 sum > 0,则说明 sum 对结果有增益效果,则 sum 保留并加上当前遍历数字如果 sum &l

2022-01-10 14:54:39 87

原创 LeetCode-0035.搜索插入位置

题目描述:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例1:示例2:示例3:示例4:示例5:先完成时间复杂度为O(n)的算法,即从头到尾查找:class Solution(object): def searchInsert(self, nums, target): """ :ty.

2022-01-09 18:07:21 60

原创 LeetCode-0027.移除元素 Python

题目描述:给你一个数组 nums和一个值 val,你需要 原地 移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例1:示例2:class Solution(object): def removeElement(self, nums, val): """ :type nums:...

2022-01-09 17:11:50 261

原创 LeetCode-0026.删除有序数组中的重复项

题目描述:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。示例1:input:nums = [1,1,2]output:2,nums = [1,2]示例2:input:num

2022-01-08 18:38:26 65

原创 LeetCode-0001.两数之和 Python

题目描述:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例1:input:nums = [2,7,11,15],target = 9output:[0,1]示例2:input:nums = [3,2,4],target = 6output:[1,2]示例3:i

2022-01-08 16:05:19 60

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除