34、35补充

昨天看到网上有人说leetcode不能提交成功就好,要想运行时间短的算法。今天有点时间就对前面的题想想吧。主要还是看别人的,但是提交之后发现和我的差别不是很大,1ms。
34题Java代码,思路是用二分法。二分法思想很简单,就不多说了。代码转自http://blog.csdn.net/lilong_dream/article/details/22893675

public int[] searchRange(int[] A, int target) {
        int left = 0;
        int right = A.length - 1;
        int[] result = { -1, -1 };
        while (left <= right) {
            int mid = (left + right) / 2;
            if (A[mid] > target) {
                right = mid - 1;
            } else if (A[mid] < target) {
                left = mid + 1;
            } else {
                result[0] = mid;
                result[1] = mid;
                int i = mid - 1;
                while (i >= 0 && A[i] == target) {
                    result[0] = i;
                    --i;
                }
                i = mid + 1;
                while (i < A.length && A[i] == target) {
                    result[1] = i;
                    ++i;
                }
                break;
            }
        }
        return result;
    }

提交之后大概击败26%,比我的快了1ms。

35题还是利用二分法。Java代码转自http://blog.csdn.net/u012848330/article/details/52145150

public class Solution {
    public int searchInsert(int[] nums, int target) {
        return binarySearch(nums,target,0,nums.length-1);
    }
    private int binarySearch(int[] nums, int target, int left, int right) {
        // TODO Auto-generated method stub
        if(left > right)
            return -1;
        if(left == right){
            if(nums[left] >= target){
                return left;
            }else{
                return right+1;
            }
        }
        int mid = (left + right)/2;
        if(target < nums[mid]){
            return binarySearch(nums,target,left,mid);
        }else if(target == nums[mid]){
            return mid;
        }else{
            return binarySearch(nums,target,mid+1,right);
        }
    }
}

提交之后还是比我的快了1ms。这个思路算是不错的了。两个题都是二分法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,144评论 25 709
  • 在此特此声明:一下所有链接均来自互联网,在此记录下我的查阅学习历程,感谢各位原创作者的无私奉献 ! 技术一点一点积...
    远航的移动开发历程阅读 13,904评论 12 197
  • 亲爱的自己, 走过这21天,是否还可以想起, 这个时候写这些文字的心情? 期待?忐忑? 在这未知的21天,有多少历...
    卓芳阅读 1,306评论 0 0
  • 这麽暴晒的天气让我想起小时候哈尔滨的夏天,戴着草编遮阳帽在宁静的江岔里划船,能闻到水草淡淡的腥味,蓝色冰冷如镜的水...
    萬幣猴阅读 2,256评论 0 0
  • 姓名:彭起洋 公司:思沃技术253期感谢2组彭起洋 272期志工 【知-学习】 诵《六项精进》大纲30遍,共737...
    433d9d018b71阅读 1,256评论 0 0

友情链接更多精彩内容