[英雄星球七月集训LeetCode解题日报] 第3日 排序

日报

  • 外边下着大雨,怪不得这么水。

题目

一、 912. 排序数组

链接: 912. 排序数组

1. 题目描述

在这里插入图片描述

2. 思路分析
  • 好家伙!
3. 代码实现
class Solution:
    def sortArray(self, nums: List[int]) -> List[int]:
        return sorted(nums)

二、 88. 合并两个有序数组

链接: 88. 合并两个有序数组

1. 题目描述

在这里插入图片描述

2. 思路分析

按理说应该逆序归并。

3. 代码实现
class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
        """
        Do not return anything, modify nums1 in-place instead.
        """
        a  = sorted(nums1[:m]+nums2[:n])
        nums1.clear()
        for i in range(n+m):
            nums1.append(a[i])

三、 1037. 有效的回旋镖

链接: 1037. 有效的回旋镖

1. 题目描述

在这里插入图片描述

2. 思路分析

斜率相等转乘法。

3. 代码实现
class Solution:
    def isBoomerang(self, points: List[List[int]]) -> bool:
        n = len(points)
        if n  != 3:
            return False
        p1,p2,p3 = (points[0][0],points[0][1]),(points[1][0],points[1][1]),(points[2][0],points[2][1])

        if p1 == p2 or p1 == p3 or p2==p3:
            return False
        
        y1 = p1[1]-p2[1]
        y2 = p1[1]-p3[1]
        x1 = p1[0]-p2[0]
        x2 = p1[0]-p3[0]
        if x1*y2==x2*y1:
            return False
        return True

四、 1232. 缀点成线

链接: 1232. 缀点成线

1. 题目描述

在这里插入图片描述

2. 思路分析
  • 斜率转乘法。
3. 代码实现
class Solution:
    def checkStraightLine(self, coordinates: List[List[int]]) -> bool:
        if len(coordinates) == 2:
            return True
        coordinates.sort(key=lambda x:x[0])
        # y2/x2=y1/x1;x1y2=x2y1
        a = coordinates[1][0] - coordinates[0][0]
        b = coordinates[1][1] - coordinates[0][1]
        for (x1,y1),(x2,y2) in pairwise(coordinates):
            a1 = x2-x1 
            b1 = y2-y1
            if a*b1 != a1*b:
                return False
        return True            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值