第八周作业 LeetCode 选做 两题

35搜索插入位置

题目描述:

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

你可以假设数组中无重复元素。


class Solution(object):
    def searchInsert(self, nums, target):
        first = 0               
        last = len(nums) - 1
        while first < last:
            mid = (first + last + 1) // 2
            if nums[mid] == target:
                return mid
            if nums[mid] < target:
                first = mid + 1
            else:
                last = mid - 1
        if nums[last] < target:
            return last + 1
        if target <= nums[last]:
            return last
        if target < nums[first]:
            return first
        return first + 1

思路:二分法


118杨辉三角

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。

class Solution(object):  
    def generate(self, numRows):
        triangle = []  
        for i in range(numRows):  
            row = [1]  
            if i == 0:  
                triangle.append(row)  
                continue  
            for j in range(1, i):  
                num = triangle[i-1][j-1] + triangle[i-1][j]  
                row.append(num)  
            row.append(1)  
            triangle.append(row)  
        return triangle  


猜你喜欢

转载自blog.csdn.net/cjf16337023/article/details/80087312
今日推荐