我叫王大锤,是一名特工。我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺。和我一起行动的还有另外两名特工,我提议我们在字节跳动大街的N个建筑中选定3个埋伏地点。为了相互照应,我们决定相距最远的两名特工间的距离不超过D。我特喵是个天才! 经过精密的计算,我们从X种可行的埋伏方案中选择了一种。这个方案万无一失,颤抖吧,孔连顺!
……
万万没想到,计划还是失败了,孔连顺化妆成小龙女,混在cosplay的队伍中逃出了字节跳动大街。只怪他的伪装太成功了,就是杨过本人来了也发现不了的!

请听题:给定N(可选作为埋伏点的建筑物数)、D(相距最远的两名特工间的距离的最大值)以及可选建筑的坐标,计算在这次行动中,大锤的小队有多少种埋伏选择。

注意

两个特工不能埋伏在同一地点

三个特工是等价的:即同样的位置组合(A, B, C) 只算一种埋伏方法,不能因“特工之间互换位置”而重复使用

输入描述: 第一行包含空格分隔的两个数字 N和D(1 ≤ N ≤ 1000000; 1 ≤ D ≤ 1000000)

第二行包含N个建筑物的的位置,每个位置用一个整数(取值区间为[0, 1000000])表示,从小到大排列(将字节跳动大街看做一条数轴)

输出描述: 一个数字,表示不同埋伏方案的数量。结果可能溢出,请对 99997867 取模

示例1
输入 4 3
1 2 3 4
输出 4
说明
可选方案 (1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)
示例2
输入 5 19
1 10 20 30 50
输出 1
说明
可选方案 (1, 10, 20)

我觉得就是三个指针,因为没有顺序关系,就用i 表示第一个埋伏点,j表示第二个埋伏点,v表示第三个埋伏点,只有同时满足两个的距离 < d的时候算作一个有效的埋伏方式。代码如下

private static int allWay(int[] building, int n, ing d) {long count = 0;if (n < 3) return 0;for (int i = 0; i < n - 2; i++) {for (int j = i + 1; j < n - 1; j++) {if (building[j] - building[i] > d) {break;}for (int v = j + 1; v < n; v++) {if (building[v] - building[i] > d) {break;}count++;System.out.println("当前方案" + building[i] + "," + building[j] + ","  + building[v])}}}return (int) (count % 99997867);
}

万万没想到之抓捕孔连顺问题的一些思考相关推荐

  1. 字节跳动---万万没想到之抓捕孔连顺

    字节跳动-万万没想到之抓捕孔连顺 文章目录 字节跳动---万万没想到之抓捕孔连顺 一.题目描述 二.分析 三.代码 一.题目描述 我叫王大锤,是一名特工.我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐 ...

  2. 万万没想到之抓捕孔连顺

    万万没想到之抓捕孔连顺 题目描述 我叫王大锤,是一名特工.我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺.和我一起行动的还有另外两名特工,我提议 我们在字节跳动大街的N个建筑中选定3个埋伏 ...

  3. 牛客网-数据结构笔试题目(二)-万万没想到之抓捕孔连顺思路解析(附源码)

    题意 我叫王大锤,是一名特工.我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺.和我一起行动的还有另外两名特工,我提议 我们在字节跳动大街的N个建筑中选定3个埋伏地点. 为了相互照应,我们决 ...

  4. 字节跳动笔试题02万万没想到之抓捕孔连顺

    我叫王大锤,是一名特工.我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺.和我一起行动的还有另外两名特工,我提议 我们在字节跳动大街的N个建筑中选定3个埋伏地点. 为了相互照应,我们决定相距 ...

  5. w万万没想到之抓特工

    我叫王大锤,是一名特工.我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺.和我一起行动的还有另外两名特工,我提议 我们在字节跳动大街的N个建筑中选定3个埋伏地点. 为了相互照应,我们决定相距 ...

  6. 显卡暴涨,这我万万没想到啊

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 梦晨 晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI ...

  7. 万万没想到,坤坤洗白的第一步是周琦…

    前晚(2日)中国男篮与波兰队的关键一战惜败后,几乎所有中国球迷都在哭"琦","琦"到一夜未眠. 周琦关键时刻边线发球失误,硬生生把中国男篮提前出线的jio给拖了 ...

  8. 科学家们竟用乐高观察细胞,网友:万万没想到啊

    杨净 子豪 发自 凹非寺 量子位 报道 | 公众号 QbitAI 玩乐高还能玩出个显微镜?! 原本以为是一个普普通通的玩具. 没想到,还真能当成显微镜来用,是能看到细胞的那种. 真·高端新玩法! 比如 ...

  9. 显卡暴涨,等等党输了,这我万万没想到啊

    梦晨 晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 万万没想到,去年信心满满准备好钱包要买30系显卡的我,现在连1660Ti都快买不起了. 不仅官方原价3899的RTX 3070,一路 ...

最新文章

  1. VsCode中配置git
  2. Ubuntu16.04运行.run文件
  3. 不可不知的STL sort函数实现原理
  4. mysql 存储过程 格式化_转 mysql 存储过程初探
  5. Windows下Memcache的安装及PHP扩展配置方法
  6. Windows保护模式学习笔记(二)—— 代码跨段跳转
  7. Tomcat发布Web项目的两种方式
  8. error LNK2026: 模块对于 SAFESEH 映像是不安全的(转)
  9. 图解ArcGIS API for JavaScript开发环境搭建
  10. 求凸函数极值 CSF迭代法(雾)
  11. “科学学”视角下的科研工作者行为研究
  12. 关于MultiActionController异步请求Ajax,pc端正常,手机端报error错误;此问题一般是通过setInterval,seTimeout,做Ajax轮询时会产生此问题;
  13. 解决混合模式程序集在VS2010 .net 4.0 环境下调试出错的方法。
  14. 基础教程之Running Man奔跑
  15. Python中的盆地跳跃【Basin Hopping】优化
  16. python launcher卸载后蓝屏_使用dump文件分析系统蓝屏原因
  17. linux 下令chmod 755的意思
  18. 机器学习项目 - 泰坦尼克号乘客生还率
  19. mysql duplicated错误码_Mysql常见错误码讲解
  20. 迁移服务器和切换域名

热门文章

  1. 单例模式的两种实现方式:恶汉式和懒汉式
  2. Windows快捷键☞【Win+R】常用命令
  3. 读小王子系列2《风沙星辰》有感
  4. 并发(多线程)------CyclicBarrier解读与例程
  5. 在 Mac 上玩网游的简单方式
  6. dz论坛Discuz_X3.4最新网站漏洞
  7. 二十四孝故事一:孝感动天
  8. 炒外汇的你是否曾经遇到过以下的误区
  9. 如何高效学习?一年学完麻省理工4年计算机课程
  10. 不允许sam账户和共享的匿名枚举_开启和关闭局域网共享设置方法[1]