当前位置: 首页 > 面试经验 >

2024年华为OD机试真题-字符串变换最小字符串

优质
小牛编辑
96浏览
2024-07-03

2024年华为OD机试真题-字符串变换最小字符串

华为OD机试真题-字符串变换最小字符串-2024年OD统一考试(D卷)

题目描述:

给定一个字符串s,最多只能进行一次变换,返回变换后能得到的最小字符串(按照字典序进行比较)。变换规则:交换字符串中任意两个不同位置的字符。

输入描述:一串小写字母组成的字符串s

输出描述:按照要求进行变换得到的最小字符串

补充说明:s是都是小写字符组成

                  1<=s.length<=1000

示例 

示例1

输入:abcdef

输出:abcdef

说明:abcdef已经是最小字符串,不需要交换

示例2

输入:bcdefa

输出:acdefb

说明:a和b进行位置交换,可以等到最小字符串

解题思路:

字符串处理。

Java解法:

import java.util.Arrays;
import java.util.Scanner;
 
public class Main {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    String s = scanner.nextLine();
 
    char[] arr = s.toCharArray();
 
    int minIndex = 0;
    Integer minValue = Integer.valueOf(arr[minIndex]);
    for (int i = 0; i < arr.length; i++) {
      Integer curValue = Integer.valueOf(arr[i]);
      if (curValue <= minValue) {
        minValue = curValue;
        minIndex = i;
      }
    }
    if (minIndex == 0) {
 类似资料: