美文网首页
IOS 算法(基础篇) ----- 搜索插入位置

IOS 算法(基础篇) ----- 搜索插入位置

作者: ShawnAlex | 来源:发表于2020-07-20 09:43 被阅读0次

今天看一道基础的插入算法题

如果你想知道什么题? 既然你诚心诚意的发问了, 我就大发慈悲的告诉你!

给定一个正序不重复数组nums, 并给定一个目标值target, 在数组中找到目标值target, 如果不存在, 返回顺序插入首次出现位置。

例如:
nums = [1, 2, 3, 4, 5, 6] target = 5 返回: 4
nums = [6, 7, 8, 9] target = 5 返回: 0
nums = [1, 2, 3] target = 5 返回: 3

暴力法

for循环判断, 因为是正序排列, 如果 当前循环数 num[i] >= 目标target 则插入当前位置

否则插入数组最后

func searchInsert(_ nums: [Int], _ target: Int) -> Int {

        for i in 0..<nums.count {

            if nums[i] >= target{

                return i

            }

        }

        return nums.count
}

排序法

这种方法比较巧妙, 将 target 插入数组 nums 然后正序排序, 去target第一次出现的下标 (索引)

1行代码即可, 简洁高效

    func searchInsert(_ nums: [Int], _ target: Int) -> Int {

        return (nums + [target]).sorted().firstIndex(of: target)!

   }

题目来源:力扣(LeetCode) 感谢力扣爸爸 :)

IOS 算法合集地址

相关文章

  • IOS 算法(基础篇) ----- 搜索插入位置

    今天看一道基础的插入算法题 如果你想知道什么题? 既然你诚心诚意的发问了, 我就大发慈悲的告诉你! 给定一个正...

  • 搜索插入位置

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

  • 搜索插入位置

    题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按...

  • 搜索插入位置

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

  • 搜索插入位置

  • 搜索插入位置

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

  • 搜索插入位置

    for i in range(len(nums)): if target <= nums[i]: ...

  • 搜索插入位置

    题目需求 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按...

  • 搜索插入位置

    给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引。如果没有,返回到它将会被按顺序插入的位置。 你可以...

  • 搜索插入位置

    LeetCode第35题 题目描述:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存...

网友评论

      本文标题:IOS 算法(基础篇) ----- 搜索插入位置

      本文链接:https://www.haomeiwen.com/subject/uzcekktx.html