Печать строки на основе определенных ограничений в Java (строки и массивы) (сжатие распаковка) - PullRequest
0 голосов
/ 03 марта 2020

Мы можем предположить, что ограничение - это целое число, которое было преобразовано в строку в массив символов. У меня проблемы с тем, как решить эту проблему.

 Construct a string with given constraints:
input: abcd
const: 123
o/p: abbcccd

input: abcde
const: 4
o/p: aaaabcde

также декодировать таким же образом

например: i / p: aabbbccccd const: 2341 o / p: abcd

Это то, что я написал, но я уверен, что мой второй l oop logi c неверен

public static void main(String[] args) {
    // TODO Auto-generated method stub
    String input = "abcd";
    String output = "";
    int arr[] = null;
    int constraint = 123;

    char[] s = Integer.toString(constraint).toCharArray();
    int min_val = Math.min(s.length, input.length());
    for(int i=0; i < min_val; i++)
    {

        for(int j = 0; j < s[i]; j++ )
        {
            output=output+input.charAt(i);
        }
    }
    System.out.println(output);
}

1 Ответ

0 голосов
/ 03 марта 2020

Попробуйте это ::

    public static void main(String[] args){
        String s="abcd";
        int num=2341;
        String num1=Integer.toString(num);
        String[] nums=num1.split("");
        String result="";

        for(int i=1;i<nums.length;i++){
            for(int j=1;j<=Integer.parseInt(nums[i]);j++){
                result=result+s.charAt(i-1);
            }
        }   
        System.out.println(result);     
    }

Вывод ::

aabbbccccd
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...