Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why I am getting an error "Output Limit Exceeded" in Javascript?

I am trying to solve a problem of LinkedList on leetcode in javascript language but out of 86 test cases 74 cases are passed but at 75 I am getting an error Output Limit Exceeded.

Problem:

Given the head of a singly linked list, return true if it is a palindrome.

Examples:

Input: head = [1,2,2,1]
Output: true

Input: head = [1,2]
Output: false

My code:

let array = [];
let list = head;
while (list) {
  array.push(list.val)
  console.log("array1", array)
  list = list.next;
}

let list2 = head;
while (list2) {
  let out = array.pop()
  if (out === list2.val) {
    list2 = list2.next;
  } else {
    return false
  }
}

return true

Last executed input: [3,8,9,3,2,8,9,1,8,9,9,8,5,2,5,4,4,4,3,9,7,5,0,5,8,6,3,3,8,0,7,3,7,7,1,1,1,7,0,2,8,1,8,7,2,9,5,2,9,7,4,8,...]

I am not able to understand why I am getting a Limit exceeded error? Is it due to too many inputs? Or Issue is in my code? If the issue is with inputs then How can I solve this problem in Javascript?

like image 658
Harsh Mishra Avatar asked Feb 21 '26 01:02

Harsh Mishra


1 Answers

console.log is trapped by the LeetCode framework, which sets a limit on the total size of the output you can generate. As your first loop calls it in every iteration, printing the array of already collected values each time, you are producing output in the order of 3𝑛(𝑛+1)/2 characters. The full test suite will have tests with 𝑛 going up to 105, which means you could produce over 15 billion characters. LeetCode will stop the script before it gets to that.

Also be aware that producing debugging output slows down the process significantly, so you also risk to hit a time limit.

Just remove the console.log.

As a follow-up: try to find a solution where you do not copy every value into an array, which requires O(n) extra space. Instead, try to do it with O(1) extra space.

like image 162
trincot Avatar answered Feb 22 '26 14:02

trincot