Skip to content
TheCScience
TheCScience
  • Engineering Subjects
    • Human Values
    • Computer System Architecture
    • Digital Communication
    • Internet of Things
  • NCERT Solutions
    • Class 12
    • Class 11
  • HackerRank solutions
    • HackerRank Algorithms Problems Solutions
    • HackerRank C solutions
    • HackerRank C++ problems solutions
    • HackerRank Java problems solutions
    • HackerRank Python problems solutions
TheCScience
TheCScience

HackerRank Sequence Equation Problem Solution

Yashwant Parihar, April 16, 2023April 16, 2023

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:

  1. x = 1 = p(3) = p(p(2)) = p(p(y)), so we print the value of y = 2 on a new line.
  2. x = 2 = p(1) = p(p(3)) = p(p(y)), so we print the value of y = 3 on a new line.
  3. 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
HackerRank Sequence Equation Problem Solution

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

  • HackerRank Jumping on the Clouds: Revisited
  • HackerRank Find Digits Problem Solution
c C# C++ HackerRank Solutions java javascript python CcppCSharpHackerrank Solutionsjavajavascriptpython

Post navigation

Previous post
Next post

Leave a Reply

You must be logged in to post a comment.

TheCScience

We at TheCScience.com are working towards the goal to give free education to every person by publishing in dept article about Secondary, Senior-Secondary, and Graduation level subjects.

Pages

About US

Contact US

Privacy Policy

DMCA

Engineering Subjects

Internet of Things

Human Values

Digital Communication

Computer System Architecture

Programming Tutorials

Data Structure and Algorithm

C

Java

NCERT

Class 12th

©2026 TheCScience | WordPress Theme by SuperbThemes