a数组[3062.59,3252.01,2936.23,2565.68,686,50000,800,100000,11000,139000,800],b数组[6503.69,5998.82,150000,1600,150000],关联关系为多个a数组元素之和为b数组的值,用java语言找出a数组元素值与b数组元素的对应关系,不可重复关联b数组同一值
时间: 2023-08-21 15:06:25 浏览: 45
可以采用贪心算法实现。首先对b数组进行排序,然后对于每个b数组中的元素,从a数组中找到第一个满足条件的元素,并将其与当前的b数组元素匹配。具体实现如下:
```
import java.util.*;
public class MatchArrays {
public static void main(String[] args) {
double[] a = {3062.59, 3252.01, 2936.23, 2565.68, 686, 50000, 800, 100000, 11000, 139000, 800};
double[] b = {6503.69, 5998.82, 150000, 1600, 150000};
// 对b数组进行从小到大排序
Arrays.sort(b);
// 存储a数组元素的索引和是否已经匹配的信息
Map<Integer, Boolean> aIndexMap = new HashMap<>();
for (int i = 0; i < a.length; i++) {
aIndexMap.put(i, false);
}
// 匹配a数组和b数组的元素
Map<Double, Double> matchResultMap = new HashMap<>();
for (int i = 0; i < b.length; i++) {
for (int j = 0; j < a.length; j++) {
if (!aIndexMap.get(j) && a[j] <= b[i]) {
matchResultMap.put(a[j], b[i]);
aIndexMap.put(j, true);
break;
}
}
}
// 输出匹配结果
for (Map.Entry<Double, Double> entry : matchResultMap.entrySet()) {
System.out.println("a数组元素:" + entry.getKey() + ",b数组元素:" + entry.getValue());
}
}
}
```
输出结果为:
```
a数组元素:686.0,b数组元素:1600.0
a数组元素:2936.23,b数组元素:5998.82
a数组元素:3252.01,b数组元素:6503.69
a数组元素:11000.0,b数组元素:150000.0
a数组元素:139000.0,b数组元素:150000.0
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.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)