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

【蔚来汽车】蔚来20220713第三题-旅游规划 <模拟、滑动窗口>

【蔚来汽车】蔚来20220713第三题-旅游规划

  牛牛对 n 个城市旅游情况进行了规划,已知每个城市有两种属性 x 和 y ,其中 x 表示去第 i 号城市的花费,y 表示在第 i 号城市游玩后会得到的开心值。
  现在牛牛希望从中挑选出一些城市去游玩,但挑选出的城市必须满足任意两个城市之间花费差值的绝对值小于 k
  请你帮他计算出在满足上述条件下能得到最大的开心值是多少

输入描述:
第一横输入两个整数 n 和 k
接下来 n 行,每行输入两个整数 x 和 y ,分别表示每个城市的两种属性
1 < n <= 100000
1 < k <= 1000000000
0 < x,y <= 1000000000

输出描述:
输出一个整数表示答案

示例输入:

5 3
1 3
2 1
5 2
3 1
4 3

示例输出:

6

题解

模拟:先按 x 的大小先排好序,再求最大价值的连续区间

public class Solution {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();int k = in.nextInt();int[][] cities = new int[n][2];for (int i = 0; i < n; i++) {cities[i][0] = in.nextInt();cities[i][1] = in.nextInt();}Arrays.sort(cities, (a, b) -> a[0] - b[0]);int maxHappy = 0;int curHappy = 0;/* //滑动窗口解法for(int i=0,j=0; i<n; i++){//当前的Happy值curHappy += cities[i][1];while (j<=i && cities[i][0]-cities[j][0] >=k){curHappy -= cities[j][1];j++;}maxHappy = Math.max(maxHappy,curHappy);}*/for (int i = 0; i < n; i++) {int j = i + 1;//当前的Happy值curHappy = cities[i][1];while (j < n && cities[j][0] - cities[i][0] < k) {curHappy += cities[j][1];j++;}maxHappy = Math.max(maxHappy, curHappy);}System.out.println(maxHappy);}
}
http://www.lryc.cn/news/137154.html

相关文章:

  • [解决方案]Antd TreeSelect/Select placeholder失效
  • 微人事 部门管理 模块 (十五)
  • 【Terraform学习】使用 Terraform 从 EC2 实例访问 S3 存储桶(Terraform-AWS最佳实战学习)
  • ZDRE6VP4-1X/50MG24K4V比例压力阀放大器
  • 纠缠辅助的量子网络:原理、技术、发展与挑战
  • React Native 可触摸组件基础知识
  • 用户、权限和Vim编辑器
  • git版本管理加合并笔记
  • Failed to load property source from location ‘classpath:/application.yml‘
  • Ajax复习
  • 里式替换原则(LSP)
  • mysql------做主从复制,读写分离
  • Anaconda虚拟环境跨系统迁移
  • 第四章 IRIS 编程简介 - Macros
  • 大厂考核重点:mysql索引面试题
  • MySQL使用binlog日志做数据恢复
  • USB Type-C端口集成式ESD静电保护方案 安全低成本
  • Shiro学习总结
  • AS中回退git历史版本并删除历史提交记录
  • 线性代数的学习和整理5: 矩阵的加减乘除及其几何意义
  • sqlsugar 使用TNS连接oracle
  • 用python解压zip文件
  • 代码随想录22| 216.组合总和III, 17.电话号码的字母组合
  • ITIL4—战略与指导
  • 【Spring】Spring循环依赖(超重要!!)
  • 数据分析之路应该是就此开启了
  • win10如何配置jdk环境变量
  • pm4py使用指南(非机翻)
  • ChatGPT帮助提升工作效率和质量:完成时间下降40%,质量评分上升 18%
  • 第二章 搜索