一、题目描述
放暑假了,小明决定到某旅游景点游玩,他在网上搜索到了各种价位的酒店(长度为n的 数组A),他的心理价位是x元,请帮他筛选出k个最接近x元的酒店 (n>=k>0) ,并由低到高打印酒店的价格。
二、输入描述
第一行: n,k,x
第二行: A[o] A[1] A[2]…A[n-1]
三、输出描述
从低到高打印筛选出的酒店价格。
四、解题思路
- 读取输入的酒店数量 hotelCount,选择数量 selectCount,和心理价位 targetPrice;
- 创建一个大小为 hotelCount 的整数数组 priceArr,用于存储酒店价格;
- 循环读取 hotelCount 个价格,并将其存储到 priceArr 数组中;
- 对 priceArr 数组进行排序,以便按价格从低到高进行处理;
- 创建一个 ArrayList,用于存储每个酒店价格与心理价位的差值;
- 遍历排序后的 priceArr 数组,计算每个酒店价格与 targetPrice 的差值,并将酒店价格和差值存储到 ArrayList 中;
- 根据差值对 ArrayList 进行排序,如果差值相同,则按价格从低到高进行排序;
- 创建一个 ArrayList,用于存储