算法week4

Posted xinl-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法week4相关的知识,希望对你有一定的参考价值。

35# 搜索插入位置

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

思路:遍历数组,找到目标值或发现第一个大于目标值的值,则返回当前位置,未找到则返回数组长度

class Solution {
    public int searchInsert(int[] nums, int target) {
        int i = 0;
        while(i<nums.length){
            if(nums[i]>=target){
                return i;
            }
            i = i+1;
        }
        return nums.length;
    }
}

py3:

class Solution:
    def searchInsert(self, nums: List[int], target: int) -> int:
        flag = 0
        for num in nums:
            flag+=1
            if num>=target:
                return flag
        return len(nums)

看到评论区的一个另一种方式,要学会使用函数

class Solution:
    def searchInsert(self, nums: List[int], target: int) -> int:
        if target in nums:
            return nums.index(target)
        else:
            nums.append(target)
            nums.sort()
            return nums.index(target)

38# 报数

报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:

1. 1
2. 11
3. 21
4. 1211
5. 111221
1 被读作  "one 1"  ("一个一") , 即 11。
11 被读作 "two 1s" ("两个一"), 即 21。
21 被读作 "one 2",  "one 1" ("一个二" ,  "一个一") , 即 1211。

给定一个正整数 n(1 ≤ n ≤ 30),输出报数序列的第 n 项。

注意:整数顺序将表示为一个字符串。

 

以上是关于算法week4的主要内容,如果未能解决你的问题,请参考以下文章

Week4 案例分析

《代码大全》读书笔记——week4

《代码大全2》读书笔记 Week4

Week4-作业1

读书笔记 Week4 2018-3-29

week4测试补交与总结