1005. K 次取反后最大化的数组和 描述: 给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。(我们可以多次选择同一个索引 i。) 以这种方式修改数组后,返回数组可能的最大和。 示例 1: 输入:A = ...
分类:
编程语言 时间:
2019-12-06 00:16:19
阅读次数:
114
/*题目; 输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。 要求时间复杂度为O(n)。 先输入数组的格式,再依次输入数组的值。*//*思路: f(i) = pData[i](i=0或f(i-1)<0),f(i-1)+pData[i](f(i-1)>0且i!=0) ...
分类:
编程语言 时间:
2019-12-04 22:22:39
阅读次数:
106
题目:给你一个整数数组 nums,请你找出并返回能被三整除的元素最大和。 示例 1: 输入:nums = [3,6,5,1,8] 输出:18 解释:选出数字 3, 6, 1 和 8,它们的和是 18(可被 3 整除的最大和)。 这道题是第163周竞赛的一道题目,难度中等,边学别人的解题方法,边记录吧 ...
分类:
其他好文 时间:
2019-11-19 11:52:57
阅读次数:
172
地址 https://www.acwing.com/solution/leetcode/content/6340/ 题目描述给你一个整数数组 nums,请你找出并返回能被三整除的元素最大和。 算法1最后数组和 只有三种情况 1 除以3余0 直接返回2 除以3余1 那么要么减少一个除以3余1的数字 或 ...
分类:
其他好文 时间:
2019-11-17 14:41:44
阅读次数:
158
题目描述:一个数组有N个元素,求连续子数组的最大和。例如:[-1,2,1],和最大的连续子数组为[2,1],其和为3。分析:从头到尾遍历数组,如果加和小于0,说明之前的累加和并不能够构成最大和数组,所以我们从数组的下一个元素开始累加,但累加的过程中有可能已经遇到了最大和,所以当当前的和比之前的大时记录下来。踩坑点:当加和小于0时只需要从下个位置作为数组头开始累加即可,因为之前已构不成最大数组,所以
分类:
其他好文 时间:
2019-11-13 19:28:35
阅读次数:
83
前面写了一些算法题,但是写到后面,发现不怎么系统起来,所以从这一篇开始,我们先着重介绍一下动态规划算法! 我们以题目开门见山. 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 解法一:动态规划思想 思路 首先对数组进行遍历,当前最大连续 ...
分类:
其他好文 时间:
2019-11-05 00:42:26
阅读次数:
85
写一个函数找出一个整数数组中,第二大的数 1 #include <stdio.h> 2 3 int max(int a, int b) 4 { 5 return a>b?a:b; 6 } 7 8 int min(int a, int b) 9 { 10 return a<b?a:b; 11 } 12 ...
分类:
编程语言 时间:
2019-11-03 01:10:49
阅读次数:
98
"Luogu P1714" 题目的大意就是给定一个长度为n的序列,求出这个序列中长度不超过m的子串的最大和 很容易想出的一个解法就是枚举起点终点,直接暴力扫一遍得出答案。 当然也很容易发现这种做法肯定会TLE。 也有一个很容易想到的优化方法——利用前缀和。 但是我们会发现即便如此,还是会TLE。 也 ...
分类:
其他好文 时间:
2019-11-02 17:46:55
阅读次数:
95
1.实践题目 2.问题描述 设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 3.算法描述 定义一个二维数组a[][]存放各行各列的数字,再定义maxSum[i][j]二维数组用来存放从a[i][j]往下经过路径的数字最大和,则该题的 ...
分类:
编程语言 时间:
2019-10-20 13:04:04
阅读次数:
65
题目:CF1133E K Balanced Teams 拿到手第一想法就是算一下每个人可以和他分一起的,然后贪心。很显然在1s内被hack。所以贪心不行优先考虑dp。看到n和k的范围明显是个O(n^2)的dp。 设f[i][j]:前i个人分了j组的最大和。 1.h[i]-h[lst]<=5 我们可以 ...
分类:
其他好文 时间:
2019-10-18 15:36:35
阅读次数:
114