首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
小米oj 数组差(挺好的题)
】的更多相关文章
小米oj 数组差(挺好的题)
数组差 序号:#46难度:困难时间限制:1000ms内存限制:10M 描述 给定一个整数数组,找出两个不重叠的子数组A和B,使两个子数组元素和的差的绝对值 |SUM(A) - SUM(B)| 最大. 返回这个最大的差值. 例如: 有一个数组{1, 2, -3, 1},可以从中找出两个子数组A = {1, 2}与B = {-3},这两个子数组的元素和分别为 SUM(A) = 3,SUM(B) = -3,因此可以求得差的最大值 |SUM(A) - SUM(B)| = 6. 输入 使用逗号(,)分隔…
lintcode:最大子数组差
题目 最大子数组差 给定一个整数数组,找出两个不重叠的子数组A和B,使两个子数组和的差的绝对值|SUM(A) - SUM(B)|最大. 返回这个最大的差值. 样例 给出数组[1, 2, -3, 1],返回 6 注意 子数组最少包含一个数 挑战 时间复杂度为O(n),空间复杂度为O(n) 解题 刚做了数组中两个子数组和的最大值,这一题是求差,感觉上题的求解思想应该是可以用的 A B 分别是两个子数组的和,则: 所以 当A>B 的时候A越大越好 B越小越好 当A<B 的时候B越大越好 A越小越好…
C++:最大子数组差
最大子数组差 内存限制:128 MiB 时间限制:1000 ms 题目描述: 给定一个整数数组,找出两个不重叠的子数组A和B,使两个子数组和的差的绝对值|SUM(A) - SUM(B) |最大. 输出这个最大的差值. 输入: 共两行. 第一行:一个整数n,表示整数数组的长度. 第二行:n个整数.(每个数的绝对值不大于1e4) 输出: 最大的差值. 样例输入: 样例1输入: 4 1 2 -3 1 样例1输出: 6 样例2输入: 7 2 -1 -2 1 -4 2 8 样例2输出: 16…
lintcode-45-最大子数组差
45-最大子数组差 给定一个整数数组,找出两个不重叠的子数组A和B,使两个子数组和的差的绝对值|SUM(A) - SUM(B)|最大. 返回这个最大的差值. 注意事项 子数组最少包含一个数 样例 给出数组[1, 2, -3, 1],返回 6 挑战 时间复杂度为O(n),空间复杂度为O(n) 标签 贪心 枚举法 LintCode 版权所有 数组 子数组 前后遍历 思路 复用"求最大字数组和"的代码,求出从左自右遍历数的最大子数组maxLeft.最小子数组minLeft和从右自左遍历数的最…
[小米OJ] 10. 爬楼梯
dp 另: 小米oj上的测试样例是错的 ; ) function solution(line) { if (line == 0) return 0; if (line == 1) return 1; var dp = new Array(line + 1); dp[1] = 1; dp[2] = 2; for (let i = 3; i <= line; i++) { dp[i] = dp[i - 1] + dp[i - 2]; } return dp[line]; }…
小米OJ刷题日志
虽然这OJ上的题比较水,但还是挺有意思的.关键是能赚钱 特别是提交方式 居然不支持C++,垃圾OJ 4. 最长连续数列 排序后dp 5. 找出旋转有序数列的中间值 写个排序就做完了. 6. 交叉队列 $f[i][j]$表示第一个队列匹配到了$i$位置,第二个队列匹配到了$j$位置是否可行 转移的时候分两种情况讨论 9. 移除 K 位得到最小值 显然左边的数比右边大的时候删了左边的是更优的, 然后特判一坨情况即可 14. 在一个有序的经过旋转的数组里查找一个数 排序后枚举 22. 找到第 N 个数…
IT公司100题-32-交换元素,使数组差最小
问题描述: 有两个整数序列a, b,大小都为n, 序列元素的值任意整数,无序. 要求:通过交换a, b 中的元素,使得sum(a)-sum(b),差最小. 例如: var a=[80, 40, 60, 10, 20, 30]; var b=[10, 20, 50, 40, 30, 20]; 分析: 近似最优算法:当前数组a和数组b的和之差为:A = sum(a) – sum(b),a的第i个元素和b的第j个元素交换后,a和b的和之差为:A’ = (sum(a) – a[i] + b[j])…
九度OJ 1055:数组逆置 (基础题)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:7324 解决:3429 题目描述: 输入一个字符串,长度小于等于200,然后将数组逆置输出. 输入: 测试数据有多组,每组输入一个字符串. 输出: 对于每组输入,请输出逆置后的结果. 样例输入: hdssg 样例输出: gssdh 来源: 2011年哈尔滨工业大学计算机研究生机试真题 思路: 水题不解释 代码: #include <stdio.h> #include <string.h> int main(void) {…
Comet OJ - Contest #14 转转的数据结构题 珂朵莉树+树状数组
题目链接: 题意:有两个操作 操作1:给出n个操作,将区间为l到r的数字改为x 操作2:给出q个操作,输出进行了操作1中的第x到x+y-1操作后的结果 解法: 把询问离线,按照r从小到大排序 每次询问的时候,用珂朵莉树推平区间 求和,这个我们用树状数组维护即可 树状数组求出>=l的和 #include <bits/stdc++.h> #define IT set<node>::iterator using namespace std; typedef long long ll…
小米oj 重拍数组求最大和
重排数组求最大和 序号:#34难度:困难时间限制:1000ms内存限制:10M 描述 假设有一个n元素的数组(数组的元素索引从1开始),针对这个数组有q个查询请求,每个请求由一对整数li,ri组成,表示数组上一个合法索引区间(1≤li≤ri≤n).我们可以根据查询的索引来计算出范围内的所有数组元素的一个总和,计算时也需要包含li和ri位置的元素. 通过重新排序数组元素,可以使得这些查询的总和最大.求问我们可以计算的最大总和值是多少. 举例: 有一个数列:2 0 1 0 3 4 5 6,针对这个…