当前位置: 首页 > news >正文

[蓝桥杯]真题讲解:合并数列(双指针+贪心)

[蓝桥杯]真题讲解:班级活动(贪心)

  • 一、视频讲解
  • 二、正解代码
    • 1、C++
    • 2、python3
    • 3、Java

一、视频讲解

[蓝桥杯]真题讲解:合并数列(双指针+贪心)
在这里插入图片描述

二、正解代码

1、C++

#include<bits/stdc++.h>
#define int long long
using namespace std;signed main(){int n, m; cin >> n >> m;vector<int>a(n), b(m);for(int i = 0; i < n; i ++) cin >> a[i];for(int j = 0; j < m; j ++)cin >> b[j];int p1 = 0, s1 = a[0], p2 = 0, s2 = b[0];int ans = 0;while(p1 < n || p2 < m) {if(s1 < s2) {p1 ++;s1 += a[p1];ans ++;} else if(s1 > s2) {p2 ++;s2 += b[p2];ans ++;}else{p1 ++;p2 ++;if(p1 < n)s1 = a[p1];if(p2 < m)s2 = b[p2];}}cout << ans << endl;return 0;
}

2、python3

n, m = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
p1, s1, p2, s2 = 0, a[0], 0, b[0]
ans = 0
while p1 < n or p2 < m:if s1 < s2:p1 += 1s1 += a[p1]ans += 1elif s1 > s2:p2 += 1s2 += b[p2]ans += 1else:p1 += 1p2 += 1if p1 < n:s1 = a[p1]if p2 < m:s2 = b[p2]print(ans)

3、Java

import java.util.ArrayList;
import java.util.List;
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();List<Integer> a = new ArrayList<>();List<Integer> b = new ArrayList<>();for(int i = 0; i < n; i ++) {int x = sc.nextInt();a.add(x);}for(int i = 0; i < m; i ++) {int x = sc.nextInt();b.add(x);}int p1 = 0, s1 = a.get(0), p2 = 0, s2 = b.get(0);int ans = 0;while(p1 < n || p2 < m) {if(s1 < s2){p1 ++;s1 += a.get(p1);ans ++;}else if(s1 > s2){p2 ++;s2 += b.get(p2);ans ++;}else{p1 ++;p2 ++;if(p1 < n)s1 = a.get(p1);if(p2 < m)s2 = b.get(p2);}}System.out.println(ans);}
}
http://www.lryc.cn/news/347041.html

相关文章:

  • 科林Linux_4 信号
  • C++:map和set类
  • [C/C++] -- 代理模式
  • 电商平台遭遇DDOS、CC攻击有什么防护方案
  • 什么是 IIS
  • 京东页面(黏性定位的实现)
  • 【北京迅为】《iTOP-3588从零搭建ubuntu环境手册》-第6章 安装Samba
  • json-server 模拟接口服务
  • pycharm 将项目连同库一起打包及虚拟环境的使用
  • GO语言核心30讲 实战与应用 (第三​部分)
  • HttpServletRequest对象
  • Linux入门攻坚——23、DNS和BIND基础入门1
  • springboot中mybatisplus注意事项
  • Android Ant编译环境配置(Win)
  • 条件变量解决同步问题之打印金鱼
  • 10分钟了解Golang泛型
  • 鸿蒙内核源码分析(Shell解析篇) | 应用窥视内核的窗口
  • TypeScript在前端项目的渐进式采用策略
  • C++容器常用集合(附传送门)
  • 基于springboot的校园资料分享平台源码数据库
  • 卷积神经网络(CNN)
  • Linux入门攻坚——22、通信安全基础知识及openssl、CA证书
  • 无障碍Web开发:遵循WCAG标准构建包容性用户体验
  • Isaac Sim 3(学习笔记5.8)
  • 对象定义成final类型还能改变吗
  • Vue Router 路由hash和history模式
  • 【xrframe】优化ar相机中加载模型效果
  • 解决 SyntaxError: Unexpected token ‘.‘ 报错问题
  • 谷歌插件V3知识点
  • webrtc windows 编译,以及peerconnection_client