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

本文介绍了一种数组处理方法,包括删除特定条件的元素、排序以及特殊字符转换。通过Java实现,展示了如何移除可被指定整数整除的数组元素,随后对剩余元素进行升序排序,并将ASCII值在A至Z范围内的元素转换为对应字母。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述

给定某整数数组和某一整数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] + " ");
			}
		}
	}
}

动态数组种在程序运行时可以动态调整大小的数据结构。在蓝桥杯算法训练中,常常会用到动态数组来解决些需要动态增加或减少元素问题。 在C++中,可以使用标准库中的vector来实现动态数组。以下是个使用动态数组的示例代码: ```cpp #include <iostream> #include <vector> int main() { std::vector<int> myArray; // 声明个空的动态数组 // 向动态数组中添加元素 myArray.push_back(1); myArray.push_back(2); myArray.push_back(3); // 访问动态数组中的元素 std::cout << "第元素:" << myArray[0] << std::endl; std::cout << "第二个元素:" << myArray[1] << std::endl; std::cout << "第三个元素:" << myArray[2] << std::endl; // 修改动态数组中的元素 myArray[1] = 10; // 遍历动态数组 for (int i = 0; i < myArray.size(); i++) { std::cout << myArray[i] << " "; } std::cout << std::endl; return 0; } ``` 上述代码中,通过包含 `<vector>` 头文件,并使用 `std::vector` 类型声明了个空的动态数组 `myArray`。通过 `push_back` 函数可以向动态数组中添加元素。可以使用索引访问动态数组中的元素,并且可以通过索引修改元素的值。使用 `size` 函数可以获取动态数组的大小,通过遍历索引可以访问动态数组的所有元素。 这只是动态数组的基本用法,实际应用中还有更多操作方法可以参考C++标准库的文档。希望对你有帮助!如果你还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值