difference - 如何在多个数字中查找两个数字之间的特定差异
问题描述
我正在尝试确定多个数字列表中两个数字之间的特定差异。例如,如果我有一个列表 1、3、23、66、45、73,我想查找 20 的差异。
解决方案
这是一个算法来查找所有差为 D 的对。
令 N 为数字列表,其中 N[i] 是列表中 i = 1 到 M 的第 i 个数字。
- 对 N 进行升序排序。
- 跟踪 N 上的两个索引 i 和 j。
- 设置 i = 1,j = 1。
- 对于每个 i,递增 j 直到 N[i] + D = N[j] 或 j 在 N[i] + D 大于 N[j] 的情况下达到最大值。如果 N[i] + D = N[j] 则找到一对 (N[i] N[j])。继续下一个 i。
推荐阅读
- javascript - 在 Dynamics 365 统一接口中不推荐使用 RibbonActions.js。是否有任何新的 JS 库替换 RibbonActions.js?
- python - 在python中以多个线程下载文件时,线程在所有文件可用之前完成
- cocoapods - “GMSPlace”类型的值在 GooglePlaces Cocoapod 3.3.7 中没有成员“视口”
- html - 为什么 jasmine 单元测试中 document.getElementsByClassName() 的结果为空?
- arrays - 使用序列化键和值将多维数组转换为单个数组
- java - 如何纠正 DrawersLayout?
- javascript - 初始化拖放项目中的项目数据
- php - 在 reactJs 中调用 axios 的问题
- java - SQLite MVVM在Activity中返回&获取rowId
- azure - ADLA 作为 Power BI 的来源