題目描述:
牛牛定義排序子串行為乙個陣列中一段連續的子串行,並且這段子序列是非遞增或者非遞減排序的。牛牛有乙個長度為n的整數陣列a,他現在有乙個任務是把陣列a分為若干段排序子串行,牛牛想知道他最少可以把這個陣列分為幾段排序子串行.
如樣例所示,牛牛可以把陣列a劃分為[1,2,3]和[2,2,1]兩個排序子串行,至少需要劃分為2個排序子串行,所以輸出2
輸入描述:
輸入的第一行為乙個正整數n(1 ≤ n ≤ 10^5)第二行包括n個整數a_i(1 ≤ a_i ≤ 10^9),表示陣列a的每個數字。
輸出描述:
輸出乙個整數表示牛牛可以將a最少劃分為多少段排序子串行
輸入例子:
61 2 3 2 2 1
輸出例子:
2
分析:分成兩種情況,遞增區間與遞減區間。還有在判斷語句結束時有乙個變數跳動,即當前指標應向下移動一位。
程式:#include #include#include#include#include#include#include#define ll long long
using namespace std;
int solve(ll a,int n)
int p=0;
int k=0;
while(k!=n)
if(a[k]=a[k+1])
k+=1;
p++;
// cout<>n)
int len=solve(a,n);
cout<
排序子串行
問題描述 將一段陣列分為若干個排序子串行,排序子串行就是非遞增或非遞減的排序序列,然後輸出至少可以分為幾個排序子串行。解決方法 輸入陣列之後,開始遍歷陣列,如果陣列滿足非遞增或者非遞減,就進入對應的條件判斷,然後此時如果i 1的元素依然滿足對應的非遞增或非遞減,就直接i 然後跳出之後進行count ...
排序子串行 全國模擬(三)
牛牛定義排序子串行為乙個陣列中一段連續的子串行,並且這段子序列是非遞增或者非遞減排序的。牛牛有乙個長度為n的整數陣列a,他現在有乙個任務是把陣列a分為若干段排序子串行,牛牛想知道他最少可以把這個陣列分為幾段排序子串行.如樣例所示,牛牛可以把陣列a劃分為 1,2,3 和 2,2,1 兩個排序子串行,至...
排序子串行 倒置字串
目錄概念筆記 位段 內聯inline oj程式設計 1 排序子串行 2 倒置字串 3 源 參考位址 位段的成員是int unsigned int signed int char等整型家族。由於結構體的記憶體對齊會對空間造成一定的浪費,因此才用位段來節省部分空間。在32位cpu上選擇預設對齊的情況下,...