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;
}
}
全部评论
相关推荐
11-07 13:23
Nanyang Technological University 自然语言处理 点赞 评论 收藏
分享