获得徽章 14
- #每日一题# 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
子数组 是数组中的一个连续部分。
示例 1:
输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。
题解:
int maxSubArray(int* nums, int numsSize){
int max_sum=nums[0];//最大子数组和
int current=nums[0];//当前数组和---nums【i】之前的 和大于0的 子数组
for(int i=1;i<numsSize;i++)
{
if(current>0)//如果当前数组和大于0,则对于nums【i】来说有该数组是有用的
{
current=current+nums[i];
}
else//如果当前数组和小于0,则将当前数组舍弃,从nums【i】开始寻找
{
current=nums[i];
}
max_sum=max_sum>current ? max_sum:current;
}
return max_sum;
}展开评论点赞 - #每日一题# 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
输入: s = "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。展开赞过评论1 - #每日一题# 定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。
candidates 中的每个数字在每个组合中只能使用 一次 。
注意:解集不能包含重复的组合。
示例 1:
输入: candidates = [10,1,2,7,6,1,5], target = 8,
输出: [ [1,1,6], [1,2,5], [1,7], [2,6] ]展开赞过评论1
![[菜刀]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_131.e225098.png)