Skip to main content
Code Review

Return to Question

Added problem description.
Source Link
Martin R
  • 24.2k
  • 2
  • 38
  • 96

Dynamic Array Problem - Getting Time Out Error (Hacker rank)

I am trying to solve dynamic array problems on hackerRank.

Link:the https://www.hackerrank.com/challenges/dynamic-array/problemDynamic Array problem on HackerRank:

  • Create a list, seqList, of N empty sequences, where each sequence is indexed from 0 to N-1. The elements within each of the N sequences also use 0-indexing.
  • Create an integer, lastAnswer, and initialize it to 0.
  • The 2 types of queries that can be performed on your list of sequences (seqList) are described below:
    1. Query: 1 x y
      1. Find the sequence, seq, at index ((x ^ lastAnswer) % N) in seqList.
      2. Append integer y to sequence seq.
    2. Query: 2 x y
      1. Find the sequence, seq, at index ((x ^ lastAnswer) % N) in seqList.
      2. Find the value of element y % size in seq (where size is the size of seq) and assign it to lastAnswer.
      3. Print the new value of lastAnswer on a new line.

However, I am getting timea "time out errorerror" for very large inputs.

Below is my code in swiftSwift so far:

func dynamicArray(n: Int, queries: [[Int]]) -> [Int] {
 var sequences: [Int: [Int]] = [:]
 var lastAnswer = 0
 var answerlist = [Int]()
 for query in queries {
 let queryType = query[0]
 let x = query[1]
 let y = query[2]
 switch queryType {
 case 1:
 let seq = (x ^ lastAnswer) % n
 if var sequence = sequences[seq] {
 sequence.append(y)
 sequences[seq] = sequence
 } else {
 sequences[seq] = [y]
 }
 case 2:
 let seq = (x ^ lastAnswer) % n
 let index = y % (sequences[seq])!.count
 lastAnswer = sequences[seq]![index]
 answerlist.append(lastAnswer)
 default: break
 }
 }
 return answerlist
}

Can it be further optimised?

Dynamic Array Problem - Getting Time Out Error (Hacker rank)

I am trying to solve dynamic array problems on hackerRank.

Link: https://www.hackerrank.com/challenges/dynamic-array/problem

However, getting time out error for very large inputs.

Below is my code in swift so far:

func dynamicArray(n: Int, queries: [[Int]]) -> [Int] {
 var sequences: [Int: [Int]] = [:]
 var lastAnswer = 0
 var answerlist = [Int]()
 for query in queries {
 let queryType = query[0]
 let x = query[1]
 let y = query[2]
 switch queryType {
 case 1:
 let seq = (x ^ lastAnswer) % n
 if var sequence = sequences[seq] {
 sequence.append(y)
 sequences[seq] = sequence
 } else {
 sequences[seq] = [y]
 }
 case 2:
 let seq = (x ^ lastAnswer) % n
 let index = y % (sequences[seq])!.count
 lastAnswer = sequences[seq]![index]
 answerlist.append(lastAnswer)
 default: break
 }
 }
 return answerlist
}

Can it be further optimised?

Dynamic Array Problem (Hacker rank)

I am trying to solve the Dynamic Array problem on HackerRank:

  • Create a list, seqList, of N empty sequences, where each sequence is indexed from 0 to N-1. The elements within each of the N sequences also use 0-indexing.
  • Create an integer, lastAnswer, and initialize it to 0.
  • The 2 types of queries that can be performed on your list of sequences (seqList) are described below:
    1. Query: 1 x y
      1. Find the sequence, seq, at index ((x ^ lastAnswer) % N) in seqList.
      2. Append integer y to sequence seq.
    2. Query: 2 x y
      1. Find the sequence, seq, at index ((x ^ lastAnswer) % N) in seqList.
      2. Find the value of element y % size in seq (where size is the size of seq) and assign it to lastAnswer.
      3. Print the new value of lastAnswer on a new line.

However, I am getting a "time out error" for very large inputs.

Below is my code in Swift so far:

func dynamicArray(n: Int, queries: [[Int]]) -> [Int] {
 var sequences: [Int: [Int]] = [:]
 var lastAnswer = 0
 var answerlist = [Int]()
 for query in queries {
 let queryType = query[0]
 let x = query[1]
 let y = query[2]
 switch queryType {
 case 1:
 let seq = (x ^ lastAnswer) % n
 if var sequence = sequences[seq] {
 sequence.append(y)
 sequences[seq] = sequence
 } else {
 sequences[seq] = [y]
 }
 case 2:
 let seq = (x ^ lastAnswer) % n
 let index = y % (sequences[seq])!.count
 lastAnswer = sequences[seq]![index]
 answerlist.append(lastAnswer)
 default: break
 }
 }
 return answerlist
}

Can it be further optimised?

Dynamic Array Problem - Getting Time Out Error For Dynamic Array Problem (Hacker rank)

I am trying to solve dynamic array problems on hackerRank. (link

Link: https://www.hackerrank.com/challenges/dynamic-array/problem ).

However, getting time out error for very large inputs. PFB

Below is my code in swift so far:

func dynamicArray(n: Int, queries: [[Int]]) -> [Int] {
 var sequences: [Int: [Int]] = [:]
 var lastAnswer = 0
 var answerlist = [Int]()
 for query in queries {
 let queryType = query[0]
 let x = query[1]
 let y = query[2]
 switch queryType {
 case 1:
 let seq = (x ^ lastAnswer) % n
 if var sequence = sequences[seq] {
 sequence.append(y)
 sequences[seq] = sequence
 } else {
 sequences[seq] = [y]
 }
 case 2:
 let seq = (x ^ lastAnswer) % n
 let index = y % (sequences[seq])!.count
 lastAnswer = sequences[seq]![index]
 answerlist.append(lastAnswer)
 default: break
 }
 }
 return answerlist
}

Can it be further optimised?

Getting Time Out Error For Dynamic Array Problem (Hacker rank)

I am trying to solve dynamic array problems on hackerRank. (link https://www.hackerrank.com/challenges/dynamic-array/problem ). However, getting time out error for very large inputs. PFB my code in swift:

func dynamicArray(n: Int, queries: [[Int]]) -> [Int] {
 var sequences: [Int: [Int]] = [:]
 var lastAnswer = 0
 var answerlist = [Int]()
 for query in queries {
 let queryType = query[0]
 let x = query[1]
 let y = query[2]
 switch queryType {
 case 1:
 let seq = (x ^ lastAnswer) % n
 if var sequence = sequences[seq] {
 sequence.append(y)
 sequences[seq] = sequence
 } else {
 sequences[seq] = [y]
 }
 case 2:
 let seq = (x ^ lastAnswer) % n
 let index = y % (sequences[seq])!.count
 lastAnswer = sequences[seq]![index]
 answerlist.append(lastAnswer)
 default: break
 }
 }
 return answerlist
}

Can it be further optimised?

Dynamic Array Problem - Getting Time Out Error (Hacker rank)

I am trying to solve dynamic array problems on hackerRank.

Link: https://www.hackerrank.com/challenges/dynamic-array/problem

However, getting time out error for very large inputs.

Below is my code in swift so far:

func dynamicArray(n: Int, queries: [[Int]]) -> [Int] {
 var sequences: [Int: [Int]] = [:]
 var lastAnswer = 0
 var answerlist = [Int]()
 for query in queries {
 let queryType = query[0]
 let x = query[1]
 let y = query[2]
 switch queryType {
 case 1:
 let seq = (x ^ lastAnswer) % n
 if var sequence = sequences[seq] {
 sequence.append(y)
 sequences[seq] = sequence
 } else {
 sequences[seq] = [y]
 }
 case 2:
 let seq = (x ^ lastAnswer) % n
 let index = y % (sequences[seq])!.count
 lastAnswer = sequences[seq]![index]
 answerlist.append(lastAnswer)
 default: break
 }
 }
 return answerlist
}

Can it be further optimised?

edited tags
Link
Source Link
Loading
default

AltStyle によって変換されたページ (->オリジナル) /