- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
假设我们有三台设备借给人们,用于他们要求的日期。当前程序会在用户请求时自动为他们分配设备 ID。该算法的工作方式是首先检查所有设备的状态,看看是否有任何“未请求”的设备。如果是这样,它只会将其分配给请求的人。
如果在特定时间段内请求了所有设备,它将检查是否有任何设备的请求日期与新请求不重叠。如果是这样,它将请求该设备。
我想编写另一种算法,在可以更有效地分配设备的情况下运行。例如:
Device 1: ####--##---######
Device 2: ----###-###------
Device 3: ---##---####-----
现在假设另一个用户出现并提出了对设备的请求,如下所示:
Device #: --------####-----
Device 1: ####--##---######
Device 2: ----###-###------
Device 3: ---##---####-----
在当前系统下,他们运气不好,因为在那个时间段没有可用的设备。但是,如果算法能够查看这三个设备,它可以将预订从设备 2 移动到设备 1 上的空位,然后通过给它们设备 2 来填充请求,最终看起来像:
Device 1: ####--###########
Device 2: ----###-####-----
Device 3: ---##---####-----
假设单个请求不能跨越多个设备,我将如何重新组织这些请求?
最佳答案
怎么样
initialize device end times to 0 (or some non-zero time if the device is in use)
sort the intervals by end time
for each interval
{
assign the interval to the device
a) whose end time is less than the interval start time (no overlap)
b) has the minimum gap between the device end time and the interval start time
update the device end time
}
使用问题中的示例,间隔(按结束时间排序)为:
1 - [1,4]
2 - [4,5]
3 - [5,7]
4 - [7,8]
5 - [9,11]
6 - [9,12]
7 - [12,17]
算法会像这样将间隔分配给两个设备
time: 12345678901234567
Device 1: 1111333-6666-----
Device 2: ---22-44555777777
间隔 1 可以分配给任一设备。由于无重叠规则,分配了间隔 2、3 和 4。间隔 5 是根据最小间隙规则分配的。然后根据无重叠规则分配 6 和 7。
关于临时将项目分配给人员并处理分配重组的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51677818/
目录 一、状态变化 1.1 状态变化是什么 1.2 mutableStateListOf 和 mutableStateMapOf 二、重组的
这是我的真实数据列表的示例列表: df setNames(nm) } fun3 Unit: microseconds #> expr min lq me
在 clojure 中,我可以像这样解构 map : (let [{:keys [key1 key2]} {:key1 1 :key2 2}] ...) 这类似于 CoffeeScript 的方法
这个问题在这里已经有了答案: Re-Structuring a JSON (2 个答案) 关闭 9 年前。 我需要使用 Javascript/Jquery 将我的 JSON 重新组织成新的结构,但我
我有一个具有以下结构的表,列是出发地、目的地、旅行时间和出发时间。主键是出发地、目的地和出发时间的组合。有没有什么方法可以重新构造它,以便行中没有太多的起点和目的地重复? 最佳答案 “出发地和目的地太
需要将 JSON 重组为 Python 中的新结构。 例如: { 'a' : 1, 'b' : 1, 'd' : {'d1' : '1', 'd2' : 2}, 'm' : [
我正在努力了解重组的工作原理。虽然我理解它的基本概念,但我在使用 withProps 函数时遇到了问题。如果我尝试使用它来装饰带有附加 Prop 的组件的每个子组件,它根本无法工作。我所做的是: co
假设我有一个数据框列表。每个数据框都有这样的列: lists$a company, x, y ,z lists$b company, x, y, z lists$c company, x, y, z
好吧,我有这个数组 $city : [2] => Array ( [0] => Array ( [0] => fr
工作中的 subversion 存储库是在没有对其结构进行太多规划的情况下建立的。目前没有明确的标签、主干或分支配置,尽管通过使用 subclipse:tags 存在一些标签元数据 目前存储库的格式为
我有一个具有以下文件夹结构的 Git 存储库: allprojectfiles --otherfolders --source ----projectname ------projectname --
我有一个像这样的 git repo 结构- main-repo -file1 -file2 我想把它转换成类似的东西- main-repo -javascript -fil
我有一个像这样的 git repo 结构- main-repo -file1 -file2 我想把它转换成类似的东西- main-repo -javascript -fil
有人建议我从类结构(定义我自己的类)转移到 pandas DataFrame 领域,因为我设想对我的数据进行许多操作。 此时我有一个如下所示的数据框: ID Name Recordin
我想重构我的 pandas 数据框,其中 h1、h2 等是与小时相关的值。目前看起来像: h1 h2 h3 h4 h5 h6 h7 h8 h9
我在 postgresql 上使用查询返回这样的结果。 schedule | day | subject | grade | ========================
我有一个这样组织的数据框... **Name** | **Mealtime** | **Food** John | 8:00 am | cereal John | 1:00 pm | salad
我有基本的脚本知识,但我不知道如何解决这个问题。我正在尝试将银行自动生成的 CSV 文件转换为 YNAB(您需要预算)可以理解的格式。 YNAB 格式(所需的 csv 文件格式) Date,Payee
我正在重组我的 meteor 应用程序,突然每个逻辑(JS 脚本)与初始文件分离的 View (html 模板)都停止工作。 最初我的项目看起来像这样 -project -.meteor
我试图让 children 不影响导航栏,并像下拉菜单一样显示。 当前示例位于:dev4you.byethost15.com 函数应该如下: 用户将鼠标悬停在父项上 子项显示在类似列表、Underne
我是一名优秀的程序员,十分优秀!