主页 > 软件开发  > 

17106合并数列

17106合并数列
17106合并数列

⭐️难度:困难 2023,国赛,模拟 🌟考点:双指针

📖

📚

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int[] a = new int[n+1]; int[] b = new int[m+1]; for (int i = 0; i < n; i++) { a[i] = sc.nextInt(); } for (int i = 0; i < m; i++) { b[i] = sc.nextInt(); } int i = 0,j = 0; int ans = 0; while(i < n && j < m){ if(a[i] == b[j]){ i ++; j ++; }else if(a[i] < b[j]){ a[i + 1] += a[i]; ans ++; i ++; }else if(b[j] < a[i]){ b[j + 1] += b[j]; ans ++; j++; } } System.out.println(ans); } }

因为两个数组要一模一样,所以从第一位开始就要一样,用双指针,不一样的话就让较小的数与后面合并,再小就再合并,直到两个指针指到的数字一样再一起前进。

标签:

17106合并数列由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“17106合并数列