每周一道算法题(二十八)

作者: CrazySteven | 来源:发表于2017-09-29 11:59 被阅读439次

本周题目难度级别'Easy',由于学习了一段时间Python了,所以以后'Easy'级别的题目全部用Python来写

题目: 本周题目和上周的算法题很像,也是给一个升序的集合和一个数字target,然后这次让你找出target的位置(即升序的集合没有重复的数字),如果集合中没有target,则返回插入target的位置(按升序排列后的位置)

思路:这个思路和上次其实差不多,也很简单,这次就用二分法了:

class Solution(object):
    def searchInsert(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: int
        """
        left = 0;
        right = len(nums)-1;
        //如果比组合的第一个小(剪枝)
        if target <= nums[left]: return left;
        //如果比组合的最后一个大(剪枝)
        if target > nums[right]: return right+1;
        //二分法开始查找
        while (left <= right):
            mid = (left + right) >> 1;
            if nums[mid] < target:left = mid + 1;
                //(剪枝)
                if target <= nums[left]: return left;
            elif nums[mid] > target:right = mid -1;
                //(剪枝)
                if target > nums[right]: return right+1;
            else:
                return mid;  
        return left;

尽管效率较高,但用时依旧比较长,Python开发的应用要普及应该还要等一段时间,每个语言都有自己的应用场景,不过用Python写算法的人明显的比用C的人多多了。。。

版权声明:本文为 Crazy Steven 原创出品,欢迎转载,转载时请注明出处!

相关文章

  • ARTS第三周(2018-12-16)

    1.Algorithm:每周至少做一个 leetcode 的算法题 第一道算法题:https://leetcode...

  • ARTS(09)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(05)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(07)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(10)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(02)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(03)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(08)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(06)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(04)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

网友评论

    本文标题:每周一道算法题(二十八)

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