2012-04-12 64 views
-2

考虑一个商店有单位价格,但也有价格 价格的商店。例如,苹果可能是每个1.00美元或4美元3.00美元。销售点扫描API

实现点对点销售扫描API接受任意 订购的产品(类似于收款处会发生什么) ,然后返回正确的总价基于每上一个完整的购物车 单价或批量价格。

以下是通过代码列出的产品和价格,使用(有 没有销售税):

产品代码|价格

A | 2.00美元或4美元7.00美元

B | $ 12.00

C |一盒六件装$ 1.25或$ 6

D | $ 0.15

应该有一个顶级销售点终端服务对象,看起来像下面的伪代码 。您可以自由设计并实现您希望的其余代码,包括 如何在系统中指定价格:

terminal.setPricing(...)terminal.scan(“A”)终端。扫描(“C”)... etc. result = terminal.total

以下是您应该用于测试用例的最小输入。这些 测试用例必须显示在您的程序中工作:

按以下顺序扫描这些项目:ABCDABAA;确认总价是 32.40美元。按以下顺序扫描这些项目:CCCCCCC;确认总价格 价格是7.25美元。按以下顺序扫描这些项目:ABCD;确认总价格 价格为15.40美元。

+0

在高层次上,您建议的解决方案是什么? – gbulmer 2012-04-12 23:46:53

+0

你只需要写一些有用的东西,对它的速度有多快或者它的设计有什么限制? – twain249 2012-04-12 23:47:20

回答

2

1)对于每个商品存储单位价格,组价格和每组的单位数。

2)在扫描阶段只需跟踪每件物品的数量。

3)对于每个项目,递增由成本:

(number units)/(units per group for item) * group price + 
(number units) % (units per group for item) * unit price 

的空间上的线性量的项目数和用于跟踪扫描的项目的计数的线性量的数量级上使用。运行时也是线性的。