LDR change over time

When you use a resistor and a LDR, the curve is like a logarithmic curve. A value of 200 doesn't say much, as jreminton pointed out.

You have sunk into the code swamp.
It is not clear what the sketch is doing, and what the arrays are for. Your indents are not consistent and its needs more comments. Because of that, a mistake is easily made, and you made one because the value of 'j' stays 0.

One whole second is a long time. A cloud in front of the sun could do that. Let's make it shorter.
The most simple code would remember the previous value. During the analog-to-digital conversion, the light can be switched off, so it would be better to remember two previous samples. But the next example only remembers the previous value.

// untested example.

#define MAX_CHANGE 200
const int LDR = A0;    //analog pin 0
int value;
int previous;
const int ledPin = 13;

void setup(){
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT); 

  // set start values.
  value = previous = analogRead(LDR);
}

void loop(){
  value = analogRead(LDR);
  
  if ((value - previous) > MAX_CHANGE) {
    if (ledPin == LOW) {
      digitalWrite(ledPin, HIGH);   // sets the LED on
    } else {
      digitalWrite(ledPin, LOW);   // sets the LED off
    }
  }
  Serial.println(value-previous); 

  // remember previous value
  previous = value;
  delay(100);
}