LeetCode 0469. Convex Polygon Solution in Java, Python, C++, JavaScript, Go & Rust | Explanation + Code

CoderIndeed
0
0469. Convex Polygon

Description

You are given an array of points on the X-Y plane points where points[i] = [xi, yi]. The points form a polygon when joined sequentially.

Return true if this polygon is convex and false otherwise.

You may assume the polygon formed by given points is always a simple polygon. In other words, we ensure that exactly two edges intersect at each vertex and that edges otherwise don't intersect each other.

 

Example 1:

Input: points = [[0,0],[0,5],[5,5],[5,0]]
Output: true

Example 2:

Input: points = [[0,0],[0,10],[10,10],[10,0],[5,5]]
Output: false

 

Constraints:

  • 3 <= points.length <= 104
  • points[i].length == 2
  • -104 <= xi, yi <= 104
  • All the given points are unique.

Solutions

Solution 1

PythonJavaC++Go
class Solution: def isConvex(self, points: List[List[int]]) -> bool: n = len(points) pre = cur = 0 for i in range(n): x1 = points[(i + 1) % n][0] - points[i][0] y1 = points[(i + 1) % n][1] - points[i][1] x2 = points[(i + 2) % n][0] - points[i][0] y2 = points[(i + 2) % n][1] - points[i][1] cur = x1 * y2 - x2 * y1 if cur != 0: if cur * pre < 0: return False pre = cur return True(code-box)

Post a Comment

0Comments

Post a Comment (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Accept !