![HackerRank Sequence Equation Problem Solution](https://thecscience.com/wp-content/uploads/2023/04/HackerRank-Sequence-Equation-Problem-Solution.jpg)
HackerRank Sequence Equation Problem Solution
In this Post, we will solve HackerRank Sequence Equation Problem Solution.
Given a sequence of n integers, p(1), p(2),…, p(n) where each element is distinct and satisfies 1 ≤ p(x) ≤ n. For each a where 1 ≤ x ≤ n, that is a increments from 1 ton, find any integer y such that p(p(y)) = x and keep a history of the values of y in a return array.
Example
p = [5, 2, 1, 3, 4]
Each value of a between 1 and 5, the length of the sequence, is analyzed as follows:
1. x = 1 = p[3], p[4] = 3, so p[p[4]] = 1
2. x = 2 = p[2], p[2] = 2, so p[p[2]] = 2
3. x = 3 = p[4], p[5] = 4, so p[p[5]] = 3
4. x = 4 = p[5], p[1] = 5, so p[p[1]] = 4
5. x = 5 = p[1], p[3] = 1, so p[p[3]] = 5
The values for y are [4, 2, 5, 1, 3].
Function Description
Complete the permutationEquation function in the editor below.
permutationEquation has the following parameter(s):
- int p[n]: an array of integers
Returns
- int[n]: the values of y for all x in the arithmetic sequence 1 to n.
Input Format
The first line contains an integer n, the number of elements in the sequence. The second line contains n space-separated integers p[i] where 1 ≤ i ≤n.
Constraints
1 ≤ n ≤ 50
1 < p[i] < 50, where 1 ≤ i ≤ n.
Each element in the sequence is distinct.
Sample Input 0
3 2 3 1
Sample Output 0
2 3 1
Explanation 0
Given the values of p(1) = 2, p(2) = 3, and p(3) = 1, we calculate and print the following values for each a from 1 ton:
- x = 1 = p(3) = p(p(2)) = p(p(y)), so we print the value of y = 2 on a new line.
- x = 2 = p(1) = p(p(3)) = p(p(y)), so we print the value of y = 3 on a new line.
- x = 3 = p(2) = p(p(1)) = p(p(y)), so we print the value of y = 1 on a new line.
Sample Input 1
5 4 3 5 1 2
Sample Output 1
1 3 5 4 2
![HackerRank Sequence Equation Problem Solution](https://thecscience.com/wp-content/uploads/2023/04/HackerRank-Sequence-Equation-Problem-Solution-1024x576.jpg)
Sequence Equation C Solution
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>
int main() {
int n,i,j,k,flag=0;
scanf("%d",&n);
int *a=(int *)malloc(n*sizeof(int));
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
//printf("\n@%d",a[i]);
}
for(j=1;j<=n;j++)
{
flag=0;
for(i=0;i<n;i++)
{
if(a[i]==j)
{
for(k=0;k<n;k++)
{
if(a[k]==i+1){
break;
flag=1;
}
}
}
if(flag==1)
break;
}
printf("%d\n",k+1) ;
}
return 0;
}
Sequence Equation C++ Solution
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define mp make_pair
#define fs first
#define se second
#define pi 2*acos(0)
#define PI 3.14159265358979323846264338
typedef long long ll;
typedef pair < int , int > pii;
typedef pair < ll , ll > pll;
const int N = 100010;
inline int in() {int x; scanf("%d",&x); return x;}
inline ll lin() {ll x; scanf("%lld",&x); return x;}
int fx[]={1,-1,0,0};
int fy[]={0,0,-1,1};
int inp[123];
int main(){
int n = in();
for(int i = 1; i <= n; i++){
int x = in();
inp[x] = i;
}
for(int i = 1; i <= n; i++){
int x = inp[inp[i]];
cout << x << '\n';
}
}
Sequence Equation C Sharp Solution
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace Solution {
class Solution {
static void Main(string[] args) {
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
int n = Convert.ToInt32(Console.ReadLine());
string[] a_temp = Console.ReadLine().Split(' ');
int[] a = Array.ConvertAll(a_temp, Int32.Parse);
Dictionary<int, int> dic = new Dictionary<int, int>();
for(int x = 0; x < n; x++)
dic.Add(x + 1, a[x]);
for(int x = 1; x <= n; x++)
{
int key1 = dic.FirstOrDefault(i => i.Value == x).Key;
int key2 = dic.FirstOrDefault(i => i.Value == key1).Key;
Console.WriteLine(key2);
}
}
}
}
Sequence Equation Java Solution
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) {
// Write your code here
List<Integer> result = new ArrayList<Integer>();
List<Integer> p_inverse = new ArrayList<Integer>();
for(int x = 1; x <= p.size(); x++){
result.add(p.indexOf(p.indexOf(x) + 1) + 1);
}
return result;
}
}
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();
}
}
Sequence Equation Java Script Solution
process.stdin.resume();
process.stdin.setEncoding("ascii");
var input = "";
process.stdin.on("data", function (chunk) {
input += chunk;
});
process.stdin.on("end", function () {
// now we can read/parse input
var temp = input.split('\n');
var n = temp[0];
var arr = temp[1];
arr = arr.split(" ");
var parray = [];
for(var i=1; i<=n; i++){
parray[i] = arr[i-1];
}
arr = arr.sort(function (a, b) { return a - b; });
for(var i=0; i<n; i++){
var x = arr[i];
var temp = parray.indexOf(x);
temp = temp.toString();
var result = parray.indexOf(temp);
console.log(result);
}
});
Sequence Equation Python Solution
# Enter your code here. Read input from STDIN. Print output to STDOUT
input()
p = [0]+[int(x) for x in input().split()]
for x in range(1,len(p)):
for y in range(1,len(p)):
if p[p[y]] == x:
print(y)
break
Other Solutions
Hello there! Do you know if they make any
plugins to help with Search Engine Optimization? I’m trying to get my website
to rank for some targeted keywords but I’m not seeing
very good gains. If you know of any please share. Thanks!
You can read similar text here: Escape room lista
Hello there, just became aware of your blog through Google,
and found that it is truly informative. I’m going to
watch out for brussels. I’ll be grateful if you continue this in future.
Numerous people will be benefited from your writing.
Cheers! Escape rooms
Fantastic post but I was wanting to know if you could write a litte more on this
topic? I’d be very grateful if you could elaborate a little bit more.
Appreciate it!