题目信息源地址:两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。提示信息示例1输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]==9,返回[0,1]。示例2输入:nums=[3,2,4],target=6输出:[1,2]示例3输入:nums=[3,3],target=6输出:[0,1]限制2-10^9-10^9只会存在一个有效答案实现逻辑
一、题目大意标签:分治https://leetcode.cn/problems/burst-balloons有n个气球,编号为0到n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。现在要求你戳破所有的气球。戳破第i个气球,你可以获得 nums[i-1]*nums[i]*nums[i+1]枚硬币。 这里的i-1和i+1代表和 i 相邻的两个气球的序号。如果i-1或i+1超出了数组的边界,那么就当它是一个数字为1的气球。求所能获得硬币的最大数量。示例1:输入:nums=[3,1,5,8]输出:167解释:nums=[3,1,5,8]-->[3,5,8]-->[3,8]-->[8]-
977.有序数组的平方给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]示例2:输入:nums=[-7,-3,2,3,11]输出:[4,9,9,49,121]提示:1-104nums已按非递减顺序排序classSolution{publicint[]sortedSquares(int[]nums){intlength=nums.length-1;int[]arr=ne
977.有序数组的平方给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]示例2:输入:nums=[-7,-3,2,3,11]输出:[4,9,9,49,121]提示:1-104nums已按非递减顺序排序classSolution{publicint[]sortedSquares(int[]nums){intlength=nums.length-1;int[]arr=ne
一、题目大意标签:动态规划https://leetcode.cn/problems/maximum-subarray给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1]的和最大,为 6。示例2:输入:nums=[1]输出:1示例3:输入:nums=[5,4,-1,7,8]输出:23提示:1-104进阶:如果你已经实现复杂度为O(n)的解法,尝试使用更为精妙的分治法求解。二、解题思路定义一个max保存遍
问题给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(logn)的算法。解决//排序数组//目标值//返回位置,或者被插入位置//请必须使用时间复杂度为O(logn)的算法。//暴力解法classSolution{publicintsearchInsert(int[]nums,inttarget){intn=nums.length;//获取nums数组长度if(target=target){returni+1;}}returnn;//当目标数字大于最后一个数字时,返回数组长度n}}//二分算法,利用
一、题目大意标签:动态规划https://leetcode.cn/problems/maximum-subarray给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1]的和最大,为 6。示例2:输入:nums=[1]输出:1示例3:输入:nums=[5,4,-1,7,8]输出:23提示:1-104进阶:如果你已经实现复杂度为O(n)的解法,尝试使用更为精妙的分治法求解。二、解题思路定义一个max保存遍
问题给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(logn)的算法。解决//排序数组//目标值//返回位置,或者被插入位置//请必须使用时间复杂度为O(logn)的算法。//暴力解法classSolution{publicintsearchInsert(int[]nums,inttarget){intn=nums.length;//获取nums数组长度if(target=target){returni+1;}}returnn;//当目标数字大于最后一个数字时,返回数组长度n}}//二分算法,利用
1.两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例1:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]==9,返回[0,1]。示例2:输入:nums=[3,2,4],target=6输出:[1,2]示例3:输入:nums=[3,3],target=6输出:[0,1]提示:2-109-109只会存在一个有效答案解法一:暴力匹配代码拿我
一、题目大意标签:动态规划https://leetcode.cn/problems/longest-increasing-subsequence给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。示例1:输入:nums=[10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是[2,3,7,101],因此长度为4。示例2:输入:nums=[0,1,0,3,2,3]输出:4示例3:输入:nums=[7,7,7,7,7,7,