国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【力扣】74. 搜索二維矩陣 <二分法>

這篇具有很好參考價值的文章主要介紹了【力扣】74. 搜索二維矩陣 <二分法>。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【力扣】74. 搜索二維矩陣

給你一個滿足下述兩條屬性的 m x n 整數(shù)矩陣:

  • 每行中的整數(shù)從左到右按非遞減順序排列。
  • 每行的第一個整數(shù)大于前一行的最后一個整數(shù)。

給你一個整數(shù) target ,如果 target 在矩陣中,返回 true ;否則,返回 false 。

示例 1:

1 3 5 7
10 11 16 20
23 30 34 60

輸入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
輸出:true

示例 2:

1 3 5 7
10 11 16 20
23 30 34 60

輸入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
輸出:false

提示:
m == matrix.length
n == matrix[i].length
1 <= m, n <= 100
- 1 0 4 10^4 104 <= matrix[i][j], target <= 1 0 4 10^4 104

題解

二分法改進,將二維數(shù)組映射為一維數(shù)組進行二分法文章來源地址http://www.zghlxwxcb.cn/news/detail-608801.html

public class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        if (matrix == null || matrix.length == 0) {
            return false;
        }
        int row = matrix.length;
        int col = matrix[0].length;

        int left = 0;
        int right = row * col - 1;

        while (left <= right) {
            int mid = left + (right - left) / 2;

            // (x,y) --> x*col+y
            //反過來:一維轉(zhuǎn)二維:matrix[mid/col][mid%col]
            int element = matrix[mid / col][mid % col];
            if (element == target) {
                return true;
            }
            else if (element > target) {
                right = mid - 1;
            }
            else {
                left = mid + 1;
            }
        }
        return false;
    }
}

到了這里,關(guān)于【力扣】74. 搜索二維矩陣 <二分法>的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【力扣100】74.搜索二維矩陣 || 列表推導式

    添加鏈接描述 思路: 暴力求解 把矩陣降維,然后使用二分搜索 列表推導式 將二維數(shù)組變?yōu)橐痪S數(shù)組中,使用 列表推導式 ,會更加簡便 解法二: 思路: 同樣是二分查找,把mid對應(yīng)的二維坐標找到就可以了

    2024年01月16日
    瀏覽(21)
  • 力扣:74. 搜索二維矩陣(Python3)

    力扣:74. 搜索二維矩陣(Python3)

    給你一個滿足下述兩條屬性的? m x n ?整數(shù)矩陣: 每行中的整數(shù)從左到右按非遞減順序排列。 每行的第一個整數(shù)大于前一行的最后一個整數(shù)。 給你一個整數(shù)? target ?,如果? target ?在矩陣中,返回? true ?;否則,返回? false ?。 來源:力扣(LeetCode) 鏈接:力扣(LeetCode)

    2024年02月10日
    瀏覽(22)
  • leetcode 74. 搜索二維矩陣(java)

    leetcode 74. 搜索二維矩陣(java)

    來源:力扣(LeetCode) 鏈接:https://leetcode.cn/problems/search-a-2d-matrix 給你一個滿足下述兩條屬性的 m x n 整數(shù)矩陣: 每行中的整數(shù)從左到右按非遞減順序排列。 每行的第一個整數(shù)大于前一行的最后一個整數(shù)。 給你一個整數(shù) target ,如果 target 在矩陣中,返回 true ;否則,返回

    2024年02月16日
    瀏覽(14)
  • 二分法簡單題

    2024年01月24日
    瀏覽(27)
  • 【算法】—二分法詳解

    【算法】—二分法詳解

    ①定義: 二分查找算法也稱折半搜索算法,對數(shù)搜索算法,是一種在 有序數(shù)組 中查找某一特定元素的搜索算法。搜索過程從數(shù)組的中間元素開始,如果中間元素正好是要查找的元素,則搜索過程結(jié)束;如果某一特定元素大于或者小于中間元素,則在數(shù)組大于或小于中間元素

    2024年02月09日
    瀏覽(24)
  • 二分法相關(guān)使用

    二分法相關(guān)使用

    在線OJ:704. 二分查找 有序數(shù)組下的二分思路如下: 由于這里是有序數(shù)組, 我們可以可以先得到中點位置, 中點可以把數(shù)組分為左右兩邊; 如果中點位置的值等于目標值, 直接返回中點位置; 如果中點位置的值小于目標值, 則去數(shù)組中點左側(cè)按同樣的方式查找; 如果中點位置的值大

    2024年02月07日
    瀏覽(17)
  • 初探二分法

    初探二分法

    智能化校園:深入探討云端管理系統(tǒng)設(shè)計與實現(xiàn)(一) 智能化校園:深入探討云端管理系統(tǒng)設(shè)計與實現(xiàn)(二) 題目:給定一個 n 個元素有序的(升序)整型數(shù)組 nums 和一個目標值 target ,寫一個函數(shù)搜索 nums 中的 target,如果目標值存在返回下標,否則返回 -1。 提示: 你可以

    2024年01月25日
    瀏覽(22)
  • 二分法MATLAB代碼

    二分法MATLAB代碼

    本質(zhì)是通過不斷進行區(qū)間壓縮來獲取函數(shù)零點。 二分法的終止條件:區(qū)間長度小于等于精度要求 。 流程: 如下圖所示:

    2024年02月05日
    瀏覽(23)
  • 【二分查找】一文帶你掌握二分法 (附萬能模板)

    【二分查找】一文帶你掌握二分法 (附萬能模板)

    一、簡介 哪怕沒有學過編程的同學,也許不知道二分法這個名字,但也一定接觸過它的核心思想。不了解的同學也沒關(guān)系,我用一句話就能概括出它的精髓: 將一個區(qū)間一分為二,每次都舍棄其中的一部分。 二分法能夠極大地降低我們在解決問題時的時間復雜度。假如你要

    2024年01月19日
    瀏覽(21)
  • 牛頓法、割線法、二分法

    牛頓法、割線法、二分法

    牛頓法求解非線性方程組 割線法求解非線性方程組 二分法求解根號3 ?另外,今天上機課寫程序時,發(fā)現(xiàn)不同的起始點可以收斂到不同的零點。也許這是一個新的值得研究的地方。 看來,計算數(shù)學也是這樣,光聽理論無法實現(xiàn)大的突破,也沒法產(chǎn)生好的想法,必須在實踐應(yīng)用

    2024年02月05日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包