34、35補充

昨天看到網(wǎng)上有人說leetcode不能提交成功就好,要想運行時間短的算法。今天有點時間就對前面的題想想吧。主要還是看別人的,但是提交之后發(fā)現(xiàn)和我的差別不是很大,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。這個思路算是不錯的了。兩個題都是二分法。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,023評論 25 709
  • 在此特此聲明:一下所有鏈接均來自互聯(lián)網(wǎng),在此記錄下我的查閱學習歷程,感謝各位原創(chuàng)作者的無私奉獻 ! 技術一點一點積...
    遠航的移動開發(fā)歷程閱讀 11,542評論 12 197
  • 親愛的自己, 走過這21天,是否還可以想起, 這個時候寫這些文字的心情? 期待?忐忑? 在這未知的21天,有多少歷...
    卓芳閱讀 170評論 0 0
  • 這麼暴曬的天氣讓我想起小時候哈爾濱的夏天,戴著草編遮陽帽在寧靜的江岔里劃船,能聞到水草淡淡的腥味,藍色冰冷如鏡的水...
    萬幣猴閱讀 312評論 0 0
  • 姓名:彭起洋 公司:思沃技術253期感謝2組彭起洋 272期志工 【知-學習】 誦《六項精進》大綱30遍,共737...
    433d9d018b71閱讀 160評論 0 0

友情鏈接更多精彩內容