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;
    }
}
全部评论

相关推荐

牛客175617325号:有的面试官不开摄像头 可能是因为他是竞业来的
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务