Sort by

recency

|

1545 Discussions

|

  • + 0 comments
    def permutationEquation(p):
        # Write your code here
        temp = {value: index + 1 for index, value in enumerate(p)}
        result = []
        for x in range(1, len(p)+1):
            i = temp.get(x)
            j = temp.get(i)
            result.append(j)
            
        return result
    
  • + 0 comments
    public static List<Integer> permutationEquation(List<Integer> p) {
        Map<Integer, Integer> map = IntStream.
                range(0, p.size()).
                boxed().
                collect(Collectors.toMap(s-> p.get(s), s-> s+1));
        List<Integer> result = IntStream.range(1, p.size()+1).
            boxed().
            map(map::get).
            map(map::get).
            collect(Collectors.toList());
        return result;
    }
    
  • + 0 comments

    Here's my easiest javascript solution :)

    let result=Array.from({ length: p.length });
        let positionVal;
        
        p.forEach((elem,index)=>{
            positionVal=(p.indexOf(index+1))+1;
            result[elem-1]=positionVal
        })
      
        return result;
    
  • + 0 comments

    Ts version

    function permutationEquation(p: number[], n: number): number[] {
    const reverseIndex = new Map<number, number>(p.map((item, index) => [item, index + 1]))
    
    return (new Array(n)).fill(0).map((item, index) => {
        return reverseIndex.get(reverseIndex.get(index + 1))
    })
    }
    
  • + 0 comments

    Here is problem solution in Python, Java, C++, C and Javascript - https://programmingoneonone.com/hackerrank-sequence-equation-problem-solution.html