- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在一个小型拼车网站上工作,人们可以在其中使用谷歌地图 API(纬度和经度)创建带有中途停留的路线。
我可以像这个答案一样在给定路线(包括中途停留)上创建所有可能的组合:
(Java) Find all possible pairs in an array
示例:如果从 A 到 D 的旅程有 2 个中途停留点(B 和 C),则将有 6 种可能的“旅程”:
当乘客在给定旅程中预订座位时,其他一些旅程也会根据他们在“金字塔”中的位置预订座位。
我还没有找到一种方法来以编程方式确定在任何给定行程中预订座位时哪些行程会受到影响(或不受影响)。
我发现的最接近的想法是来自 phpjabbers 的巴士预订脚本和这个 SO 答案: Database design for bus reservation,但是这两个解决方案已经将城市/停靠点存储在数据库中,而在“我的”解决方案中,停靠点始终是动态的(使用谷歌地图 API)。
到目前为止我已经尝试过:
我没有以正确的方式解决问题(当然),但我不确定这个问题是否与数学、算法或其他任何问题有关。请原谅。
我想了解如何解决这个问题:公式、算法、一些基本代码或其他任何内容。
编辑:
为了更好地解释问题,这将是一个典型的场景:
四个点或城市(A、B、C、D)是从 google maps api 中选择的,因此它们不会存储在本地。每个点的纬度和经度都“附加”到游乐设施。
乘客 Z 在最长的行程 (#1) 上预订了一个座位。现在所有游乐设施都只有两个座位。很简单。
乘客 Y 在行程 #6(从 C 到 D)上预订了一个座位。现在,#1、#3 和 #6 游乐设施少了一个座位(2 个已占用,1 个可用)。
乘客 X 在行程 #2(从 A 到 C)上预订了一个座位。 这就是它变得复杂的地方。现在,#2、#4 和#5 的游乐设施少了一个座位(1 个已占用,2 个可用),这同样适用于 #3(2 个已占用,1 个可用) ).
此时即使有 3 名乘客预订了“子游乐设施”的座位,1 号游乐设施仍有 1 个可用座位(见上文第 3 点)。这是我的问题,我不知道如何确定乘客 X 的预订不能修改 ride #1(第 4 点)。
最佳答案
我认为答案在于从一开始就将从 A 到 D 并在 B 和 C 中途停留的旅程存储为 3 个独立的行程,并单独存储完整的行程,并在行程和行程之间来回链接。 (忽略 AC 或 BD 等组合边。)
RIDES TABLE:
ride: {id=1, from: "New York", to: "Newport", legIDs=[1,2,3], user=John, ...}LEGS TABLE:
leg: {id=1, from "New York", to "New Haven", seats = 3, rideID=1, ...}
leg: {id=2, from "New Haven", to "New London", seats = 3, rideID=1, ...}
leg: {id=3, from "New London", to "Newport", seats = 3, rideID=1, ...}
然后,当乘客寻找行程时,您将他的旅程分成几段,并为这些不同的行程寻找行程,优先选择属于同一行程的行程。
然后,在预订行程时,您可以从旅程的每段行程中扣除一个座位,无论这些行程属于哪个行程。
关于algorithm - 拼车预订的数据库/算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32210465/
我的问题是如何在 python 中创建一个简单的数据库。我的例子是: User = { 'Name' : {'Firstname', 'Lastname'}, 'Address' : {'Street
我需要创建一个与远程数据库链接的应用程序! mysql 是最好的解决方案吗? Sqlite 是唯一的本地解决方案吗? 我使用下面的方法,我想知道它是否是最好的方法! NSString *evento
给定两台 MySQL 服务器,一台本地,一台远程。两者都有一个包含表 bohica 的数据库 foobar。本地服务器定义了用户 'myadmin'@'%' 和 'myadmin'@'localhos
我有以下灵活的搜索查询 Select {vt:code},{vt:productcode},{vw:code},{vw:productcode} from {abcd AS vt JOIN wxyz
好吧,我的电脑开始运行有点缓慢,所以我重置了 Windows,保留了我的文件。因为我的大脑还没有打开,所以我忘记事先备份我的 MySQL 数据库。我仍然拥有所有原始文件,因此我实际上仍然拥有数据库,但
如何将我的 Access 数据库 (.accdb) 转换为 SQLite 数据库 (.sqlite)? 请,任何帮助将不胜感激。 最佳答案 1)如果要转换 db 的结构,则应使用任何 DB 建模工具:
系统检查发现了一些问题: 警告:?:(mysql.W002)未为数据库连接“默认”设置 MySQL 严格模式 提示:MySQL 的严格模式通过将警告升级为错误来修复 MySQL 中的许多数据完整性问题
系统检查发现了一些问题: 警告:?:(mysql.W002)未为数据库连接“默认”设置 MySQL 严格模式 提示:MySQL 的严格模式通过将警告升级为错误来修复 MySQL 中的许多数据完整性问题
我想在相同的 phonegap 应用程序中使用 android 数据库。 更多说明: 我创建了 phonegap 应用程序,但 phonegap 应用程序不支持服务,所以我们已经在 java 中为 a
Time Tracker function clock() { var mytime = new Date(); var seconds
我需要在现有项目上实现一些事件的显示。我无法更改数据库结构。 在我的 Controller 中,我(从 ajax 请求)传递了一个时间戳,并且我需要显示之前的 8 个事件。因此,如果时间戳是(转换后)
我有一个可以收集和显示各种测量值的产品(不会详细介绍)。正如人们所期望的那样,显示部分是一个数据库+建立在其之上的网站(使用 Symfony)。 但是,我们可能还会创建一个 API 来向第三方公开数据
我们将 SQL Server 从 Azure VM 迁移到 Azure SQL 数据库。 Azure VM 为 DS2_V2、2 核、7GB RAM、最大 6400 IOPS Azure SQL 数据
我正在开发一个使用 MongoDB 数据库的程序,但我想问在通过 Java 执行 SQL 时是否可以使用内部数据库进行测试,例如 H2? 最佳答案 你可以尝试使用Testcontainers Test
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 已关闭 9 年前。 此问题似乎与 a specific programming problem, a sof
我正在尝试使用 MSI 身份验证(无需用户名和密码)从 Azure 机器学习服务连接 Azure SQL 数据库。 我正在尝试在 Azure 机器学习服务上建立机器学习模型,目的是我需要数据,这就是我
我在我的 MySQL 数据库中使用这个查询来查找 my_column 不为空的所有行: SELECT * FROM my_table WHERE my_column != ""; 不幸的是,许多行在
我有那个基地:http://sqlfiddle.com/#!2/e5a24/2这是 WordPress 默认模式的简写。我已经删除了该示例不需要的字段。 如您所见,我的结果是“类别 1”的两倍。我喜欢
我有一张这样的 table : mysql> select * from users; +--------+----------+------------+-----------+ | userid
我有表: CREATE TABLE IF NOT EXISTS `category` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL
我是一名优秀的程序员,十分优秀!