oppo提前批算法题解析分享
小欧数组求和 小欧拿到了一个数组,她有q次操作,每次操作修改一个元素。小欧希望每次修改后得到当前数组所有元素之和。你能帮帮她吗?第一行输入两个正整数n和q,代表数组的大小和操作次数。第二行输入n个正整数ai,代表小欧拿到的初始数组。接下来的q行,每行输入两个正整数i和x,代表将第i个元素修改为x。
{
public static void main(String[] args) {
int[][] arr = {
};
System.out.println(Arrays.deepToString(solution(arr);));
}
public static int[][] solution(int[][] arr) {
//输出数组的长度
int q = arr[0][1];
//计算原数组的和
int[] orginal = arr[1];
int orginalsum = 0;
for (int i = 0; i < orginal.length; i++) {
orginalsum = orginal[i] + orginalsum;
}
int[][] outarr = new int[q][1];
int aftersum = orginalsum ;
for (int i = 2; i < arr.length; i++) {
int index = arr[i][0] - 1;//
int value = arr[i][1];//
aftersum = aftersum + value - arr[1][index];
outarr[i - 2][0] = aftersum;
arr[1][index] = value;
}
return outarr;
}
}
{
public static void main(String[] args) {
int[][] arr = {
};
System.out.println(Arrays.deepToString(solution(arr);));
}
public static int[][] solution(int[][] arr) {
//输出数组的长度
int q = arr[0][1];
//计算原数组的和
int[] orginal = arr[1];
int orginalsum = 0;
for (int i = 0; i < orginal.length; i++) {
orginalsum = orginal[i] + orginalsum;
}
int[][] outarr = new int[q][1];
int aftersum = orginalsum ;
for (int i = 2; i < arr.length; i++) {
int index = arr[i][0] - 1;//
int value = arr[i][1];//
aftersum = aftersum + value - arr[1][index];
outarr[i - 2][0] = aftersum;
arr[1][index] = value;
}
return outarr;
}
}
全部评论
相关推荐
03-14 21:00
蚌埠坦克学院 嵌入式软件开发 今年的金三银四感觉有点淡,岗位数量没有想象中那么多,很多公司也变得更谨慎了。投出去的简历不少,但面试机会并不算多。就业环境确实比以前紧张一些,不过也不用太焦虑,慢慢准备、持续投递,总会遇到合适的机会。
点赞 评论 收藏
分享
03-01 18:10
中国地质大学(武汉) Java 点赞 评论 收藏
分享
查看24道真题和解析