Finden Sie heraus, ob die gegebene Matrix Toeplitz ist oder nicht

Finden Sie heraus, ob die gegebene Matrix Toeplitz ist oder nicht

Gegeben sei eine quadratische Matrix zusammen mit[][] der Ordnung N Ihre Aufgabe besteht darin, zu prüfen, ob es sich um eine Toeplitz-Matrix handelt.

Notiz: Eine Toeplitz-Matrix – auch diagonalkonstante Matrix genannt – ist eine Matrix, in der die Elemente jeder einzelnen absteigenden Diagonale von links nach rechts gleich sind. Äquivalent für jeden Eintrag mat[i][j] ist es dasselbe wie mat[i-1][j-1] oder mat[i-2][j-2] und so weiter.

Beispiele:

Eingang: mit[][] = [ [6 7 8]
[4 6 7]
[1 4 6] ]
Ausgabe: Ja
Erläuterung: Alle Diagonalen der gegebenen Matrix sind [6 6 6] [7 7] [8] [4 4] [1]. Da für jede Diagonale alle Elemente gleich sind, ist die gegebene Matrix die Toeplitz-Matrix.

Eingang: mit[][] = [ [6 3 8]
[4 9 7]
[1 4 6] ]
Ausgabe: NEIN
Erläuterung: Die primären Diagonalelemente der gegebenen Matrix sind [6 9 6]. Da die Diagonalelemente nicht gleich sind, ist die angegebene Matrix keine Toeplitz-Matrix.

[Erwarteter Ansatz – 1] – Überprüfung jeder Diagonale – O(n * n) Zeit und O(1) Raum

Die Idee besteht darin, jede nach unten geneigte Diagonale in der Matrix zu durchlaufen, indem man jedes Element in der ersten Zeile und jedes Element in der ersten Spalte als Ausgangspunkt verwendet und überprüft, ob jedes Element entlang dieser Diagonale mit dem Wert an der Spitze übereinstimmt.

Befolgen Sie die unten angegebenen Schritte:

  • Lassen n = mat.size() Und m = mat[0].size() .
  • Für jeden Spaltenindex i aus 0 Zu m - 1 Anruf checkDiagonal(mat 0 i) ; Wenn es „false“ zurückgibt, wird sofort „false“ zurückgegeben isToeplitz .
  • Für jeden Zeilenindex i aus 0 Zu n - 1 Anruf checkDiagonal(mat i 0) ; Wenn es „false“ zurückgibt, wird sofort „false“ zurückgegeben isToeplitz .
  • Wenn alle Anrufe zu checkDiagonal erfolgreich sein, true zurückgeben.
  • In checkDiagonal(mat x y) vergleichen mat[i][j] Zu mat[x][y] für jeden i = x+1 j = y+1 während i < n && j < m ; Geben Sie bei der ersten Nichtübereinstimmung „false“ zurück, andernfalls geben Sie „true“ zurück, nachdem Sie die Kante erreicht haben.

Unten ist angegeben Durchführung:

C++
   #include          using     namespace     std  ;   // function to check if diagonal elements are same   bool     checkDiagonal  (  vector   <  vector   <  int  >>     &  mat       int     x       int     y  )     {      int     n     =     mat  .  size  ()     m     =     mat  [  0  ].  size  ();      for  (  int     i     =     x     +     1       j     =     y     +     1  ;         i      <     n     &&     j      <     m  ;     i  ++       j  ++  )     {      if  (  mat  [  i  ][  j  ]     !=     mat  [  x  ][  y  ])      return     false  ;      }      return     true  ;   }   // Function to check whether given   // matrix is toeplitz matrix or not   bool     isToeplitz  (  vector   <  vector   <  int  >>     &  mat  )     {      int     n     =     mat  .  size  ()     m     =     mat  [  0  ].  size  ();      // check each descending diagonal starting from      // first row and first column of the matrix      for  (  int     i     =     0  ;     i      <     m  ;     i  ++  )      if  (  !  checkDiagonal  (  mat       0       i  ))      return     false  ;      for  (  int     i     =     0  ;     i      <     n  ;     i  ++  )         if  (  !  checkDiagonal  (  mat       i       0  ))      return     false  ;          // if all diagonals are same return true      return     true  ;   }   int     main  ()     {      vector   <  vector   <  int  >>     mat     =     {      {  6       7       8  }      {  4       6       7  }      {  1       4       6  }      };      if  (  isToeplitz  (  mat  ))     {      cout      < <     'Yes'  ;      }     else     {      cout      < <     'No'  ;      }      return     0  ;   }   
Java
   import     java.util.*  ;   class   GfG     {      // function to check if diagonal elements are same      static     boolean     checkDiagonal  (  List   <  List   <  Integer  >>     mat       int     x       int     y  )     {      int     n     =     mat  .  size  ()     m     =     mat  .  get  (  0  ).  size  ();      for  (  int     i     =     x     +     1       j     =     y     +     1  ;         i      <     n     &&     j      <     m  ;     i  ++       j  ++  )     {      if  (  !  mat  .  get  (  i  ).  get  (  j  ).  equals  (  mat  .  get  (  x  ).  get  (  y  )))      return     false  ;      }      return     true  ;      }      // Function to check whether given      // matrix is toeplitz matrix or not      static     boolean     isToeplitz  (  List   <  List   <  Integer  >>     mat  )     {      int     n     =     mat  .  size  ()     m     =     mat  .  get  (  0  ).  size  ();      // check each descending diagonal starting from      // first row and first column of the matrix      for  (  int     i     =     0  ;     i      <     m  ;     i  ++  )      if  (  !  checkDiagonal  (  mat       0       i  ))      return     false  ;      for  (  int     i     =     0  ;     i      <     n  ;     i  ++  )         if  (  !  checkDiagonal  (  mat       i       0  ))      return     false  ;      // if all diagonals are same return true      return     true  ;      }      public     static     void     main  (  String  []     args  )     {      List   <  List   <  Integer  >>     mat     =     Arrays  .  asList  (      Arrays  .  asList  (  6       7       8  )      Arrays  .  asList  (  4       6       7  )      Arrays  .  asList  (  1       4       6  )      );      if  (  isToeplitz  (  mat  ))     {      System  .  out  .  println  (  'Yes'  );      }     else     {      System  .  out  .  println  (  'No'  );      }      }   }   
Python
   # function to check if diagonal elements are same   def   checkDiagonal  (  mat     x     y  ):   n     m   =   len  (  mat  )   len  (  mat  [  0  ])   i     j   =   x   +   1     y   +   1   while   i    <   n   and   j    <   m  :   if   mat  [  i  ][  j  ]   !=   mat  [  x  ][  y  ]:   return   False   i   +=   1   j   +=   1   return   True   # Function to check whether given   # matrix is toeplitz matrix or not   def   isToeplitz  (  mat  ):   n     m   =   len  (  mat  )   len  (  mat  [  0  ])   # check each descending diagonal starting from   # first row and first column of the matrix   for   i   in   range  (  m  ):   if   not   checkDiagonal  (  mat     0     i  ):   return   False   for   i   in   range  (  n  ):   if   not   checkDiagonal  (  mat     i     0  ):   return   False   # if all diagonals are same return true   return   True   mat   =   [   [  6     7     8  ]   [  4     6     7  ]   [  1     4     6  ]   ]   if   isToeplitz  (  mat  ):   print  (  'Yes'  )   else  :   print  (  'No'  )   
C#
   using     System  ;   using     System.Collections.Generic  ;   class     GfG     {      // function to check if diagonal elements are same      static     bool     checkDiagonal  (  List   <  List   <  int  >>     mat       int     x       int     y  )     {      int     n     =     mat  .  Count       m     =     mat  [  0  ].  Count  ;      for  (  int     i     =     x     +     1       j     =     y     +     1  ;         i      <     n     &&     j      <     m  ;     i  ++       j  ++  )     {      if  (  mat  [  i  ][  j  ]     !=     mat  [  x  ][  y  ])      return     false  ;      }      return     true  ;      }      // Function to check whether given      // matrix is toeplitz matrix or not      static     bool     isToeplitz  (  List   <  List   <  int  >>     mat  )     {      int     n     =     mat  .  Count       m     =     mat  [  0  ].  Count  ;      // check each descending diagonal starting from      // first row and first column of the matrix      for  (  int     i     =     0  ;     i      <     m  ;     i  ++  )      if  (  !  checkDiagonal  (  mat       0       i  ))      return     false  ;      for  (  int     i     =     0  ;     i      <     n  ;     i  ++  )         if  (  !  checkDiagonal  (  mat       i       0  ))      return     false  ;      // if all diagonals are same return true      return     true  ;      }      static     void     Main  ()     {      var     mat     =     new     List   <  List   <  int  >>     {      new     List   <  int  >     {  6       7       8  }      new     List   <  int  >     {  4       6       7  }      new     List   <  int  >     {  1       4       6  }      };      if  (  isToeplitz  (  mat  ))     {      Console  .  WriteLine  (  'Yes'  );      }     else     {      Console  .  WriteLine  (  'No'  );      }      }   }   
JavaScript
   // function to check if diagonal elements are same   function     checkDiagonal  (  mat       x       y  )     {      let     n     =     mat  .  length       m     =     mat  [  0  ].  length  ;      for  (  let     i     =     x     +     1       j     =     y     +     1  ;         i      <     n     &&     j      <     m  ;     i  ++       j  ++  )     {      if  (  mat  [  i  ][  j  ]     !==     mat  [  x  ][  y  ])      return     false  ;      }      return     true  ;   }   // Function to check whether given   // matrix is toeplitz matrix or not   function     isToeplitz  (  mat  )     {      let     n     =     mat  .  length       m     =     mat  [  0  ].  length  ;      // check each descending diagonal starting from      // first row and first column of the matrix      for  (  let     i     =     0  ;     i      <     m  ;     i  ++  )      if  (  !  checkDiagonal  (  mat       0       i  ))      return     false  ;      for  (  let     i     =     0  ;     i      <     n  ;     i  ++  )         if  (  !  checkDiagonal  (  mat       i       0  ))      return     false  ;      // if all diagonals are same return true      return     true  ;   }   let     mat     =     [      [  6       7       8  ]      [  4       6       7  ]      [  1       4       6  ]   ];   if  (  isToeplitz  (  mat  ))     {      console  .  log  (  'Yes'  );   }     else     {      console  .  log  (  'No'  );   }   

Ausgabe
Yes 

[Erwarteter Ansatz – 2] – Diagonal über dem Element prüfen – O(n * n) Zeit und O(1) Raum

Die Idee besteht darin, jede Zelle ab der zweiten Zeile und zweiten Spalte zu scannen und jeden Wert mit seinem Nachbarn oben links zu vergleichen. Wenn ein Element von dem diagonal darüber abweichenden Element abweicht, haben Sie einen Verstoß gegen die Toeplitz-Eigenschaft festgestellt und können sofort damit aufhören; Wenn Sie die gesamte Matrix ohne Abweichung durchlaufen, ist jede Diagonale konstant.

Befolgen Sie die unten angegebenen Schritte:

  • Lassen n = mat.size() Und m = mat[0].size() .
  • Iterieren i von 1 bis n - 1 und darin j von 1 bis m - 1 .
  • Wenn mat[i][j] != mat[i - 1][j - 1] jederzeit zurückkehren false .
  • Sobald alle Paare überprüft wurden und keine Abweichungen vorliegen, kehren Sie zurück true .

Unten ist angegeben Durchführung:

C++
   #include          using     namespace     std  ;   // Function to check whether given   // matrix is toeplitz matrix or not   bool     isToeplitz  (  vector   <  vector   <  int  >>     &  mat  )     {      int     n     =     mat  .  size  ()     m     =     mat  [  0  ].  size  ();      // check diagonally above element of      // each element in the matrix      for  (  int     i     =     1  ;     i      <     n  ;     i  ++  )     {      for  (  int     j     =     1  ;     j      <     m  ;     j  ++  )     {      if  (  mat  [  i  ][  j  ]     !=     mat  [  i     -     1  ][  j     -     1  ])      return     false  ;      }      }          // if all diagonals are same return true      return     true  ;   }   int     main  ()     {      vector   <  vector   <  int  >>     mat     =     {      {  6       7       8  }      {  4       6       7  }      {  1       4       6  }      };      if  (  isToeplitz  (  mat  ))     {      cout      < <     'Yes'  ;      }     else     {      cout      < <     'No'  ;      }      return     0  ;   }   
Java
   import     java.util.*  ;   class   GfG     {      // Function to check whether given      // matrix is toeplitz matrix or not      static     boolean     isToeplitz  (  List   <  List   <  Integer  >>     mat  )     {      int     n     =     mat  .  size  ()     m     =     mat  .  get  (  0  ).  size  ();      // check diagonally above element of      // each element in the matrix      for  (  int     i     =     1  ;     i      <     n  ;     i  ++  )     {      for  (  int     j     =     1  ;     j      <     m  ;     j  ++  )     {      if  (  mat  .  get  (  i  ).  get  (  j  )     !=     mat  .  get  (  i     -     1  ).  get  (  j     -     1  ))      return     false  ;      }      }          // if all diagonals are same return true      return     true  ;      }      public     static     void     main  (  String  []     args  )     {      List   <  List   <  Integer  >>     mat     =     Arrays  .  asList  (      Arrays  .  asList  (  6       7       8  )      Arrays  .  asList  (  4       6       7  )      Arrays  .  asList  (  1       4       6  )      );      if  (  isToeplitz  (  mat  ))     {      System  .  out  .  println  (  'Yes'  );      }     else     {      System  .  out  .  println  (  'No'  );      }      }   }   
Python
   # Function to check whether given   # matrix is toeplitz matrix or not   def   isToeplitz  (  mat  ):   n     m   =   len  (  mat  )   len  (  mat  [  0  ])   # check diagonally above element of   # each element in the matrix   for   i   in   range  (  1     n  ):   for   j   in   range  (  1     m  ):   if   mat  [  i  ][  j  ]   !=   mat  [  i   -   1  ][  j   -   1  ]:   return   False   # if all diagonals are same return true   return   True   mat   =   [   [  6     7     8  ]   [  4     6     7  ]   [  1     4     6  ]   ]   if   isToeplitz  (  mat  ):   print  (  'Yes'  )   else  :   print  (  'No'  )   
C#
   using     System  ;   using     System.Collections.Generic  ;   class     GfG     {      // Function to check whether given      // matrix is toeplitz matrix or not      static     bool     isToeplitz  (  List   <  List   <  int  >>     mat  )     {      int     n     =     mat  .  Count       m     =     mat  [  0  ].  Count  ;      // check diagonally above element of      // each element in the matrix      for  (  int     i     =     1  ;     i      <     n  ;     i  ++  )     {      for  (  int     j     =     1  ;     j      <     m  ;     j  ++  )     {      if  (  mat  [  i  ][  j  ]     !=     mat  [  i     -     1  ][  j     -     1  ])      return     false  ;      }      }          // if all diagonals are same return true      return     true  ;      }      static     void     Main  ()     {      var     mat     =     new     List   <  List   <  int  >>     {      new     List   <  int  >     {  6       7       8  }      new     List   <  int  >     {  4       6       7  }      new     List   <  int  >     {  1       4       6  }      };      if  (  isToeplitz  (  mat  ))     {      Console  .  WriteLine  (  'Yes'  );      }     else     {      Console  .  WriteLine  (  'No'  );      }      }   }   
JavaScript
   // Function to check whether given   // matrix is toeplitz matrix or not   function     isToeplitz  (  mat  )     {      let     n     =     mat  .  length       m     =     mat  [  0  ].  length  ;      // check diagonally above element of      // each element in the matrix      for  (  let     i     =     1  ;     i      <     n  ;     i  ++  )     {      for  (  let     j     =     1  ;     j      <     m  ;     j  ++  )     {      if  (  mat  [  i  ][  j  ]     !==     mat  [  i     -     1  ][  j     -     1  ])      return     false  ;      }      }          // if all diagonals are same return true      return     true  ;   }   let     mat     =     [      [  6       7       8  ]      [  4       6       7  ]      [  1       4       6  ]   ];   if  (  isToeplitz  (  mat  ))     {      console  .  log  (  'Yes'  );   }     else     {      console  .  log  (  'No'  );   }   

Ausgabe
Yes 

[Alternativer Ansatz] – Verwendung von Hashing – O(n * n) Zeit und O(n) Raum

Die Idee besteht darin, jeder Diagonale unten rechts eine eindeutige Kennung zuzuweisen (Zeilenindex minus Spaltenindex) und eine Hash-Map zu verwenden, um den ersten für diese Diagonale gesehenen Wert aufzuzeichnen. Während Sie die gesamte Matrix scannen, berechnen Sie diesen Schlüssel für jede Zelle und überprüfen entweder, ob er mit dem gespeicherten Wert übereinstimmt, oder speichern ihn, wenn er neu ist. Bei einer einzigen Nichtübereinstimmung können Sie mit false aussteigen; andernfalls kommt man am Ende zu dem Schluss, dass es wahr ist.

Befolgen Sie die unten angegebenen Schritte:

  • Bestimmen Sie die Matrixdimensionen (Zeilenanzahl und Spaltenanzahl) aus mat .
  • Erstellen Sie eine leere Hashmap mp um jeden Diagonalschlüssel seinem repräsentativen Wert zuzuordnen.
  • Gehen Sie durch jede Zelle mat durch seinen Zeilenindex i und Spaltenindex j .
  • Bilden Sie für jede Zelle den Diagonalschlüssel durch Subtrahieren j aus i .
  • Wenn mp Enthält diesen Schlüssel bereits. Vergleichen Sie das aktuelle Element mit dem gespeicherten Wert. Wenn sie sich unterscheiden, wird sofort false zurückgegeben.
  • Wenn der Schlüssel noch nicht drin ist mp Zeichnen Sie das aktuelle Element unter diesem Schlüssel auf.
  • Wenn Sie den Durchlauf ohne Abweichungen abschließen, geben Sie „true“ zurück.

Illustration:

Das folgende Diagramm veranschaulicht diese Idee besser. Betrachten Sie die diagonale Farbe Gelb. Die Differenz zwischen dem X-Wert und dem Y-Wert jedes Indexes auf dieser Diagonale beträgt 2 (2-0 3-1 4-2 5-3). Das Gleiche lässt sich für alle Körperdiagonalen beobachten.

Finden Sie heraus, ob die gegebene Matrix Toeplitz ist oder nicht

Für rot gefärbte Diagonalen beträgt der Unterschied 3. Für grün gefärbte Diagonalen beträgt der Unterschied 0. Für orange gefärbte Diagonalen beträgt der Unterschied -2 ​​und so weiter ...

Unten ist angegeben Durchführung:

C++
   #include          using     namespace     std  ;   // Function to check whether given   // matrix is toeplitz matrix or not   bool     isToeplitz  (  vector   <  vector   <  int  >>     &  mat  )     {      int     n     =     mat  .  size  ()     m     =     mat  [  0  ].  size  ();          // HashMap to store keyvalue pairs      unordered_map   <  int       int  >     mp  ;          for  (  int     i     =     0  ;     i      <     n  ;     i  ++  )     {      for  (  int     j     =     0  ;     j      <     m  ;     j  ++  )     {      int     key     =     i     -     j  ;          // If key value exists in the hashmap      if     (  mp  [  key  ])     {          // check if the value is same       // as the current element      if     (  mp  [  key  ]     !=     mat  [  i  ][  j  ])      return     false  ;      }          // Else we put keyvalue pair in hashmap      else     {      mp  [  i     -     j  ]     =     mat  [  i  ][  j  ];      }      }      }      return     true  ;   }   int     main  ()     {      vector   <  vector   <  int  >>     mat     =     {      {  6       7       8  }      {  4       6       7  }      {  1       4       6  }      };      if  (  isToeplitz  (  mat  ))     {      cout      < <     'Yes'  ;      }     else     {      cout      < <     'No'  ;      }      return     0  ;   }   
Java
   // JAVA program to check whether given matrix   // is a Toeplitz matrix or not   import     java.util.*  ;   class   GFG     {      static     boolean     isToeplitz  (  int  [][]     matrix  )      {      // row = number of rows      // col = number of columns      int     row     =     matrix  .  length  ;      int     col     =     matrix  [  0  ]  .  length  ;      // HashMap to store keyvalue pairs      HashMap   <  Integer       Integer  >     map      =     new     HashMap   <  Integer       Integer  >  ();      for     (  int     i     =     0  ;     i      <     row  ;     i  ++  )         {      for     (  int     j     =     0  ;     j      <     col  ;     j  ++  )         {      int     key     =     i     -     j  ;      // if key value exists in the hashmap      if     (  map  .  containsKey  (  key  ))         {      // we check whether the current value      // stored in this key matches to element      // at current index or not. If not      // return false      if     (  map  .  get  (  key  )     !=     matrix  [  i  ][  j  ]  )      return     false  ;      }      // else we put keyvalue pair in hashmap      else     {      map  .  put  (  i     -     j       matrix  [  i  ][  j  ]  );      }      }      }      return     true  ;      }      // Driver Code      public     static     void     main  (  String  []     args  )      {      int  [][]     matrix     =     {     {     12       23       -  32     }      {     -  20       12       23     }      {     56       -  20       12     }      {     38       56       -  20     }     };          // Function call      String     result     =     (  isToeplitz  (  matrix  ))     ?     'Yes'     :     'No'  ;      System  .  out  .  println  (  result  );      }   }   
Python
   # Python3 program to check whether given matrix   # is a Toeplitz matrix or not   def   isToeplitz  (  matrix  ):   # row = number of rows   # col = number of columns   row   =   len  (  matrix  )   col   =   len  (  matrix  [  0  ])   # dictionary to store keyvalue pairs   map   =   {}   for   i   in   range  (  row  ):   for   j   in   range  (  col  ):   key   =   i  -  j   # if key value exists in the map   if   (  key   in   map  ):   # we check whether the current value stored   # in this key matches to element at current   # index or not. If not return false   if   (  map  [  key  ]   !=   matrix  [  i  ][  j  ]):   return   False   # else we put keyvalue pair in map   else  :   map  [  key  ]   =   matrix  [  i  ][  j  ]   return   True   # Driver Code   if   __name__   ==   '__main__'  :   matrix   =   [[  12     23     -  32  ]   [  -  20     12     23  ]   [  56     -  20     12  ]   [  38     56     -  20  ]]   # Function call   if   (  isToeplitz  (  matrix  )):   print  (  'Yes'  )   else  :   print  (  'No'  )   
C#
   using     System  ;   using     System.Collections.Generic  ;   class     GfG     {      // Function to check whether given      // matrix is toeplitz matrix or not      static     bool     isToeplitz  (  List   <  List   <  int  >>     mat  )     {      int     n     =     mat  .  Count       m     =     mat  [  0  ].  Count  ;          // HashMap to store keyvalue pairs      Dictionary   <  int    int  >     mp     =     new     Dictionary   <  int    int  >  ();          for  (  int     i     =     0  ;     i      <     n  ;     i  ++  )     {      for  (  int     j     =     0  ;     j      <     m  ;     j  ++  )     {      int     key     =     i     -     j  ;          // If key value exists in the hashmap      if     (  mp  .  ContainsKey  (  key  ))     {          // check if the value is same       // as the current element      if     (  mp  [  key  ]     !=     mat  [  i  ][  j  ])      return     false  ;      }          // Else we put keyvalue pair in hashmap      else     {      mp  [  i     -     j  ]     =     mat  [  i  ][  j  ];      }      }      }      return     true  ;      }      static     void     Main  ()     {      var     mat     =     new     List   <  List   <  int  >>     {      new     List   <  int  >     {  6       7       8  }      new     List   <  int  >     {  4       6       7  }      new     List   <  int  >     {  1       4       6  }      };      if  (  isToeplitz  (  mat  ))     {      Console  .  WriteLine  (  'Yes'  );      }     else     {      Console  .  WriteLine  (  'No'  );      }      }   }   
JavaScript
   // Function to check whether given   // matrix is toeplitz matrix or not   function     isToeplitz  (  mat  )     {      let     n     =     mat  .  length       m     =     mat  [  0  ].  length  ;          // HashMap to store keyvalue pairs      const     mp     =     new     Map  ();          for  (  let     i     =     0  ;     i      <     n  ;     i  ++  )     {      for  (  let     j     =     0  ;     j      <     m  ;     j  ++  )     {      let     key     =     i     -     j  ;          // If key value exists in the hashmap      if     (  mp  .  has  (  key  ))     {          // check if the value is same       // as the current element      if     (  mp  .  get  (  key  )     !==     mat  [  i  ][  j  ])      return     false  ;      }          // Else we put keyvalue pair in hashmap      else     {      mp  .  set  (  i     -     j       mat  [  i  ][  j  ]);      }      }      }          return     true  ;   }   let     mat     =     [      [  6       7       8  ]      [  4       6       7  ]      [  1       4       6  ]   ];   if  (  isToeplitz  (  mat  ))     {      console  .  log  (  'Yes'  );   }     else     {      console  .  log  (  'No'  );   }   

Ausgabe
Yes