The principle of sufficient reason is a philosophical principle that states that everything must have a reason or a cause. It was articulated and made prominent by Gottfried Wilhelm Leibniz and was further used and developed by Arthur Schopenhauer and Sir William Hamilton. The principle has a variety of expressions, all of which are perhaps best summarized by the following: For every entity X, if X exists, then there is a sufficient explanation for why X exists. For every event E, if E occurs, then there is a sufficient explanation for why E occurs. For every proposition P, if P is true, then there is a sufficient explanation for why P is true.
The law of non-contradiction is another rule of logic that states that if something is true, then the opposite of it is false. For example, if an animal is a cat, the same animal cannot be not a cat. Or, stated in logic, if +p, then not -p, +p cannot be -p at the same time and in the same sense.
I hope this helps!