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

(數(shù)組) 941. 有效的山脈數(shù)組 ——【Leetcode每日一題】

這篇具有很好參考價(jià)值的文章主要介紹了(數(shù)組) 941. 有效的山脈數(shù)組 ——【Leetcode每日一題】。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

?941. 有效的山脈數(shù)組

難度:簡單

給定一個(gè)整數(shù)數(shù)組 arr,如果它是有效的山脈數(shù)組就返回 true,否則返回 false。

讓我們回顧一下,如果 arr 滿足下述條件,那么它是一個(gè)山脈數(shù)組:

  • arr.length >= 3
  • 0 < i < arr.length - 1 條件下,存在 i 使得:
    • arr[0] < arr[1] < ... arr[i-1] < arr[i]
    • arr[i] > arr[i+1] > ... > arr[arr.length - 1]

(數(shù)組) 941. 有效的山脈數(shù)組 ——【Leetcode每日一題】

示例 1:

輸入:arr = [2,1]
輸出:false

示例 2:

輸入:arr = [3,5,5]
輸出:false

示例 3:

輸入:arr = [0,3,2,1]
輸出:true

提示

  • 1 < = a r r . l e n g t h < = 1 0 4 1 <= arr.length <= 10^4 1<=arr.length<=104
  • 0 < = a r r [ i ] < = 1 0 4 0 <= arr[i] <= 10^4 0<=arr[i]<=104

??思路:雙指針

判斷是山峰,主要就是要嚴(yán)格的保存左邊到中間遞增的,及右邊到中間是遞增的。

  • 這樣可以使用兩個(gè)指針,leftright。
  • 因?yàn)?leftright 是數(shù)組下標(biāo),移動(dòng)的過程中注意不要數(shù)組越界;
  • 如果 left 或者 right 沒有移動(dòng),說明是一個(gè)單調(diào)遞增或者遞減的數(shù)組,依然不是山峰。

??代碼:(Java、C++)

Java

class Solution {
    public boolean validMountainArray(int[] arr) {
        int n = arr.length;
        if (n < 3) return false;
        int left = 0;
        int right = n - 1;

        // 嚴(yán)格遞增遍歷,注意防止越界
        while (left < n - 1 && arr[left] < arr[left + 1]) left++;

        // 嚴(yán)格遞減遍歷,注意防止越界
        while (right > 0 && arr[right] < arr[right - 1]) right--;

        // 如果left或者right都在起始位置,說明不是山峰
        if (left == right && left != 0 && right != n - 1) return true;
        return false;
    }
}

C++

class Solution {
public:
    bool validMountainArray(vector<int>& arr) {
        int n = arr.size();
        if (n < 3) return false;
        int left = 0;
        int right = n - 1;

        // 嚴(yán)格遞增遍歷,注意防止越界
        while (left < n - 1 && arr[left] < arr[left + 1]) left++;

        // 嚴(yán)格遞減遍歷,注意防止越界
        while (right > 0 && arr[right] < arr[right - 1]) right--;

        // 如果left或者right都在起始位置,說明不是山峰
        if (left == right && left != 0 && right != n - 1) return true;
        return false;
    }
};
?? 運(yùn)行結(jié)果:

(數(shù)組) 941. 有效的山脈數(shù)組 ——【Leetcode每日一題】

?? 復(fù)雜度分析:
  • 時(shí)間復(fù)雜度 O ( n ) O(n) O(n),其中 n 為數(shù)組 arr 的長度。
  • 空間復(fù)雜度 O ( 1 ) O(1) O(1)。

題目來源:力扣。

放棄一件事很容易,每天能堅(jiān)持一件事一定很酷,一起每日一題吧!
關(guān)注我LeetCode主頁 / CSDN—力扣專欄,每日更新!文章來源地址http://www.zghlxwxcb.cn/news/detail-489148.html

注: 如有不足,歡迎指正!

到了這里,關(guān)于(數(shù)組) 941. 有效的山脈數(shù)組 ——【Leetcode每日一題】的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • LeetCode每日一題——1331.數(shù)組序號(hào)轉(zhuǎn)換

    LeetCode每日一題——1331.數(shù)組序號(hào)轉(zhuǎn)換

    題目傳送門 給你一個(gè)整數(shù)數(shù)組 arr ,請你將數(shù)組中的每個(gè)元素替換為它們排序后的序號(hào)。 序號(hào)代表了一個(gè)元素有多大。序號(hào)編號(hào)的規(guī)則如下: 序號(hào)從 1 開始編號(hào)。 一個(gè)元素越大,那么序號(hào)越大。如果兩個(gè)元素相等,那么它們的序號(hào)相同。 每個(gè)數(shù)字的序號(hào)都應(yīng)該盡可能地小。

    2024年02月14日
    瀏覽(25)
  • 【LeetCode每日一題】——1331.數(shù)組序號(hào)轉(zhuǎn)換

    【LeetCode每日一題】——1331.數(shù)組序號(hào)轉(zhuǎn)換

    排序 簡單 1331.數(shù)組序號(hào)轉(zhuǎn)換 給你一個(gè)整數(shù)數(shù)組 arr ,請你將數(shù)組中的每個(gè)元素替換為它們排序后的序號(hào)。 序號(hào)代表了一個(gè)元素有多大。序號(hào)編號(hào)的規(guī)則如下: 序號(hào)從 1 開始編號(hào)。 一個(gè)元素越大,那么序號(hào)越大。如果兩個(gè)元素相等,那么它們的序號(hào)相同。 每個(gè)數(shù)字的序號(hào)都

    2024年02月12日
    瀏覽(16)
  • ( 數(shù)組) 209. 長度最小的子數(shù)組——【Leetcode每日一題】

    ( 數(shù)組) 209. 長度最小的子數(shù)組——【Leetcode每日一題】

    難度:中等 給定一個(gè)含有 n 個(gè)正整數(shù)的數(shù)組和一個(gè)正整數(shù) target 。 找出該數(shù)組中滿足其和 ≥ target 的長度最小的 連續(xù)子數(shù)組 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其長度。如果不存在符合條件的子數(shù)組,返回 0 。 示例 1: 輸入:target = 7, nums = [2,3,1,2,4,3] 輸出:2 解釋:子數(shù)

    2024年02月06日
    瀏覽(30)
  • 【LeetCode每日一題】53. 最大子數(shù)組和

    https://leetcode.cn/problems/maximum-subarray/description/ 給你一個(gè)整數(shù)數(shù)組 nums ,請你找出一個(gè)具有最大和的連續(xù)子數(shù)組(子數(shù)組最少包含一個(gè)元素),返回其最大和。 子數(shù)組 是數(shù)組中的一個(gè)連續(xù)部分。 先算出數(shù)組的前綴和,然后通過2個(gè)for循環(huán)遍歷出所有的連續(xù)子數(shù)組。 尋找一個(gè)具有

    2024年02月04日
    瀏覽(25)
  • LeetCode每日一題【977. 有序數(shù)組的平方】

    LeetCode每日一題【977. 有序數(shù)組的平方】

    題目: 思路: 直接每個(gè)元素平方,然后排序,比較簡單 雙指針,一頭一尾,每次比較頭指針元素平方與尾指針元素平方的大小,若頭指針的元素平方比較大,則頭指針往后移動(dòng),否則尾指針往前移動(dòng)

    2024年02月20日
    瀏覽(25)
  • ( 數(shù)組) 27. 移除元素 ——【Leetcode每日一題】

    ( 數(shù)組) 27. 移除元素 ——【Leetcode每日一題】

    難度:簡單 給你一個(gè)數(shù)組 nums 和一個(gè)值 val ,你需要 原地 移除所有數(shù)值等于 val 的元素,并返回移除后數(shù)組的新長度。 不要使用額外的數(shù)組空間,你必須僅使用 O(1) 額外空間并 原地 修改輸入數(shù)組。 元素的順序可以改變。你不需要考慮數(shù)組中超出新長度后面的元素。 說明

    2024年02月08日
    瀏覽(41)
  • ( 數(shù)組和矩陣) 566. 重塑矩陣 ——【Leetcode每日一題】

    ( 數(shù)組和矩陣) 566. 重塑矩陣 ——【Leetcode每日一題】

    難度:簡單 在 MATLAB 中,有一個(gè)非常有用的函數(shù) reshape ,它可以將一個(gè) m x n 矩陣重塑為另一個(gè)大小不同( r x c )的新矩陣,但保留其原始數(shù)據(jù)。 給你一個(gè)由二維數(shù)組 mat 表示的 m x n 矩陣,以及兩個(gè)正整數(shù) r 和 c ,分別表示想要的重構(gòu)的矩陣的行數(shù)和列數(shù)。 重構(gòu)后的矩陣需要

    2024年02月07日
    瀏覽(24)
  • ( 數(shù)組和矩陣) 645. 錯(cuò)誤的集合 ——【Leetcode每日一題】

    ( 數(shù)組和矩陣) 645. 錯(cuò)誤的集合 ——【Leetcode每日一題】

    難度:簡單 集合 s 包含從 1 到 n 的整數(shù)。不幸的是,因?yàn)閿?shù)據(jù)錯(cuò)誤,導(dǎo)致集合里面某一個(gè)數(shù)字復(fù)制了成了集合里面的另外一個(gè)數(shù)字的值,導(dǎo)致集合 丟失了一個(gè)數(shù)字 并且 有一個(gè)數(shù)字重復(fù) 。 給定一個(gè)數(shù)組 nums 代表了集合 S 發(fā)生錯(cuò)誤后的結(jié)果。 請你找出重復(fù)出現(xiàn)的整數(shù),再找到

    2024年02月04日
    瀏覽(23)
  • 2023-08-13 LeetCode每日一題(合并兩個(gè)有序數(shù)組)

    2023-08-13 LeetCode每日一題(合并兩個(gè)有序數(shù)組)

    點(diǎn)擊跳轉(zhuǎn)到題目位置 給你兩個(gè)按 非遞減順序 排列的整數(shù)數(shù)組 nums1 和 nums2,另有兩個(gè)整數(shù) m 和 n ,分別表示 nums1 和 nums2 中的元素?cái)?shù)目。 請你 合并 nums2 到 nums1 中,使合并后的數(shù)組同樣按 非遞減順序 排列。 **注意:**最終,合并后數(shù)組不應(yīng)由函數(shù)返回,而是存儲(chǔ)在數(shù)組 num

    2024年02月13日
    瀏覽(28)
  • 【LeetCode每日一題】410. 分割數(shù)組的最大值

    【LeetCode每日一題】410. 分割數(shù)組的最大值

    2024-1-21 410. 分割數(shù)組的最大值 思路:二分查找+貪心 利用二分查找法和貪心算法來求解將數(shù)組分割為m個(gè)非空連續(xù)子數(shù)組,使得每個(gè)子數(shù)組的和的最大值最小 首先,我們需要確定二分查找的左右邊界。左邊界 left 初始化為數(shù)組中的最大值,右邊界 right 初始化為數(shù)組所有元素的

    2024年01月23日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包