Sequence Equation Hackerrank Solution - java
for explanation watch video ::
code::
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;
class Result {
/*
* Complete the 'permutationEquation' function below.
*
* The function is expected to return an INTEGER_ARRAY.
* The function accepts INTEGER_ARRAY p as parameter.
*/
public static List<Integer> permutationEquation(List<Integer> p) {
// p = [4 3 5 1 2]
// 1 2 3 4 5
//1)size of arry
int n = p.size();//5
//2)find index of 1 to n in arraylist p
ArrayList<Integer> al1 = new ArrayList<>();
for(int i=1;i<=n;i++){
al1.add(p.indexOf(i)+1);
}
//al1 = [4,5,2,1,3];
//3)find index of al1 elemnts in arraylist p
ArrayList<Integer> al2 = new ArrayList<>();
for(int i=0;i<n;i++){
al2.add(p.indexOf(al1.get(i))+1);
}
//al2 = [1,3,5,4,2];
return al2;
}
}
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));
int n = Integer.parseInt(bufferedReader.readLine().trim());
List<Integer> p = Stream.of(bufferedReader.readLine().replaceAll("\\s+$", "").split(" "))
.map(Integer::parseInt)
.collect(toList());
List<Integer> result = Result.permutationEquation(p);
bufferedWriter.write(
result.stream()
.map(Object::toString)
.collect(joining("\n"))
+ "\n"
);
bufferedReader.close();
bufferedWriter.close();
}
}
Comments
Post a Comment