当前位置:实例文章 » JAVA Web实例» [文章]华为OD机试真题 Java 实现【找出通过车辆最多颜色】【2023Q1 100分】,附详细解题思路

华为OD机试真题 Java 实现【找出通过车辆最多颜色】【2023Q1 100分】,附详细解题思路

发布人:shili8 发布时间:2024-12-22 10:27 阅读次数:0

**华为OD机试真题 Java 实现**

**题目描述**

假设有一个集合 `car`,其中每个元素都是一个对象,代表一辆车。每辆车都有一个颜色属性(如红、蓝、黄等)。现在,我们需要找出通过车辆最多的颜色。

**输入输出格式**

* 输入:一个集合 `car`
* 输出:通过车辆最多的颜色**附详细解题思路**

1. **数据准备**
* 首先,我们需要准备好数据。假设我们有一个集合 `car`,其中每个元素都是一个对象,代表一辆车。
* 每辆车都有一个颜色属性(如红、蓝、黄等)。
2. **统计各颜色的车辆数量**
* 接下来,我们需要统计出每种颜色的车辆数量。我们可以使用一个 HashMap 来存储这些信息,键为颜色,值为该颜色的车辆数量。
3. **找出通过车辆最多的颜色**
* 最后,我们需要找出通过车辆最多的颜色。我们可以遍历 HashMap 中的每个条目,比较其值(即车辆数量),找到最大值对应的键(即颜色)。

**Java代码实现**

javaimport java.util.*;

public class Main {
 public static void main(String[] args) {
 // 假设我们有一个集合 car List car = new ArrayList<>();
 car.add(new Car("红"));
 car.add(new Car("蓝"));
 car.add(new Car("黄"));
 car.add(new Car("红"));
 car.add(new Car("蓝"));
 car.add(new Car("黄"));
 car.add(new Car("红"));
 car.add(new Car("蓝"));
 car.add(new Car("黄"));

 // 找出通过车辆最多的颜色 String mostColor = findMostColor(car);
 System.out.println(mostColor); // 输出结果:红 }

 /**
 * 找出通过车辆最多的颜色 *
 * @param car 车辆集合 * @return通过车辆最多的颜色 */
 public static String findMostColor(List car) {
 // 使用 HashMap 来存储每种颜色的车辆数量 Map colorCount = new HashMap<>();
 for (Car c : car) {
 String color = c.getColor();
 if (!colorCount.containsKey(color)) {
 colorCount.put(color,1);
 } else {
 int count = colorCount.get(color);
 colorCount.put(color, count +1);
 }
 }

 // 找出通过车辆最多的颜色 String mostColor = null;
 int maxCount =0;
 for (Map.Entry entry : colorCount.entrySet()) {
 if (entry.getValue() > maxCount) {
 maxCount = entry.getValue();
 mostColor = entry.getKey();
 }
 }

 return mostColor;
 }

 /**
 * 车辆类 */
 static class Car {
 private String color;

 public Car(String color) {
 this.color = color;
 }

 public String getColor() {
 return color;
 }
 }
}


**附注**

* 这个 Java代码实现了一个方法 `findMostColor` 来找出通过车辆最多的颜色。
* 方法首先使用 HashMap 来存储每种颜色的车辆数量,然后遍历 HashMap 中的每个条目,比较其值(即车辆数量),找到最大值对应的键(即颜色)。
* 最后,方法返回通过车辆最多的颜色。
* 在 `main` 方法中,我们假设有一个集合 `car`,其中每个元素都是一个对象,代表一辆车。我们使用 `findMostColor` 方法来找出通过车辆最多的颜色,并输出结果。

**注意**

* 这个 Java代码实现了一个简单的解决方案,但可能不是最优解。
* 在实际应用中,你可能需要考虑更多因素,例如车辆数量、颜色分布等。
* 最后,请记得在实际场景中测试你的代码,以确保其正确性和性能。

相关标签:算法java开发语言
其他信息

其他资源

Top