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