首頁 >後端開發 >C++ >C++程式:計算將索引小於值的元素放置所需的操作次數

C++程式:計算將索引小於值的元素放置所需的操作次數

WBOY
WBOY轉載
2023-09-08 21:53:06852瀏覽

C++程式:計算將索引小於值的元素放置所需的操作次數

假設我們有一個包含 n 個元素的陣列 A。我們可以多次執行這些操作-

  • 選擇任何正整數k

  • 選擇任何位置並在該位置插入k

  • #這樣,序列就改變了,我們在下一個運算中繼續這個序列。

  • ul>

    我們必須找到滿足條件所需的最少運算元:對於0 到n-1 範圍內的所有i,A[i]

    因此,如果輸入是例如A = [1, 2, 5, 7, 4],那麼輸出將為3,因為我們可以執行以下操作: [1,2,5,7,4]到[1,2,3,5 ,7,4] 到[1,2,3,4,5,7,4] 到[1,2,3,4,5,3,7,4]。

    步驟 h2>

    為了解決這個問題,我們將按照以下步驟操作-

    maxj := 0
    n := size of A
    for initialize i := 0, when i < n, update (increase i by 1), do:
       maxj := maximum of maxj and (A[i] - i - 1)
    return maxj

    範例

    讓我們看一下以下實作以獲得更好的理解−

    #include <bits/stdc++.h>
    using namespace std;
    
    int solve(vector<int> A) {
       int maxj = 0;
       int n = A.size();
       for (int i = 0; i < n; i++) {
          maxj = max(maxj, A[i] - i - 1);
       }
       return maxj;
    }
    int main() {
       vector<int> A = { 1, 2, 5, 7, 4 };
       cout << solve(A) << endl;
    }

    輸入

    { 1, 2, 5, 7, 4 }

    輸出

    3

以上是C++程式:計算將索引小於值的元素放置所需的操作次數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除