天天育儿网,内容丰富有趣,生活中的好帮手!
天天育儿网 > 蓝桥杯算法训练-数组查找及替换问题(Java语言)

蓝桥杯算法训练-数组查找及替换问题(Java语言)

时间:2019-03-20 22:35:30

相关推荐

蓝桥杯算法训练-数组查找及替换问题(Java语言)

描述

给定某整数数组和某一整数b。要求删除数组中可以被b整除的所有元素,同时将该数组各元素按从小到大排序。如果数组元素数值在A到Z的ASCII之间,替换为对应字母。元素个数不超过100,b在1至100之间。

输入

输入描述:

第一行为数组元素个数和整数b

第二行为数组各个元素

输入样例:

输出

输出描述:

按照要求输出

输出样例:

思路分析

这道题首先按照题目要求进行输入,并初始化数组。之后调用函数,进行循环遍历是否能被n整除,如果不能整除,则将其剔除,将其置为-1。用变量c记录数组中元素值不为-1的数目。然后调用排序算法对数组进行排序。最后循环遍历是否位于A~Z区间内,并输出结果。

import java.util.Arrays;import java.util.Scanner;public class lanqiao1110 {public static void main(String[] args) {Scanner reader = new Scanner(System.in);int num = reader.nextInt(); // 按题目要求创建输入int n = reader.nextInt();if (num > 0) {int[] arr = new int[num]; // 建立对应的数组for (int i = 0; i < num; i++) {arr[i] = reader.nextInt();}lanqiao_1110(arr, n);//调用函数}}public static void lanqiao_1110(int[] arr, int k) {int c = arr.length;//获取数组的长度for (int i = 0; i < arr.length; i++) {//循环遍历查看是否能被k整除,并剔除if (arr[i] % k == 0) {arr[i] = -1;c--;}}Arrays.sort(arr);//进行从小到大排序for (int i = arr.length - c; i < arr.length; i++) {//循环遍历输出结果if (arr[i] >= 'A' && arr[i] <= 'Z') {System.out.print((char) arr[i] + " ");} else {System.out.print(arr[i] + " ");}}}}

如果觉得《蓝桥杯算法训练-数组查找及替换问题(Java语言)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。