用Java假设有两个二维数组a[10][2]= {{1,3},{2,33},{5,7},{6,7},{7,17},{9,27},{10,27},{11,5},{12,57},{15,87}}、b[m][2],数组a表示商品库存量,其中a[i][0]表示第i个商品的编号,a[i][1] 表示第i个商品的库存量;数组b表示客户下单量,其中b[j][0] 表示客户下单第j个商品的编号,b[j][1] 表示客户下单第j个商品的数量。 请写出一个通用算法,判断客户所下单商品的库存是否足够。
时间: 2023-08-18 16:22:36 浏览: 39
可以使用哈希表来存储商品库存信息,然后遍历客户下单的商品列表,逐个判断库存是否足够。
具体的实现步骤如下:
1. 遍历商品库存数组a,将每个商品的编号和库存量存入哈希表中,可以使用Java中的HashMap类实现。
2. 遍历客户下单数组b,对于每个下单商品,从哈希表中查找该商品的库存量,如果库存量小于下单量,则说明库存不足,直接返回false表示下单失败。
3. 如果所有商品都库存充足,则返回true表示下单成功。
下面是Java代码实现:
```java
import java.util.HashMap;
public class OrderSystem {
public static boolean checkOrder(int[][] a, int[][] b) {
// 遍历商品库存数组a,将每个商品的编号和库存量存入哈希表中
HashMap<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < a.length; i++) {
map.put(a[i][0], a[i][1]);
}
// 遍历客户下单数组b,对于每个下单商品,从哈希表中查找该商品的库存量
for (int i = 0; i < b.length; i++) {
int id = b[i][0];
int quantity = b[i][1];
if (map.containsKey(id)) {
int stock = map.get(id);
if (quantity > stock) {
// 库存不足,下单失败
return false;
}
} else {
// 商品不存在,下单失败
return false;
}
}
// 所有商品库存充足,下单成功
return true;
}
public static void main(String[] args) {
int[][] a = {{1, 3}, {2, 33}, {5, 7}, {6, 7}, {7, 17}, {9, 27}, {10, 27}, {11, 5}, {12, 57}, {15, 87}};
int[][] b = {{1, 2}, {2, 30}, {5, 8}, {6, 5}, {9, 30}, {10, 20}, {11, 3}, {12, 50}, {15, 100}};
boolean result = checkOrder(a, b);
System.out.println(result);
}
}
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)