C 查詢先非嚴格遞增後非嚴格遞減陣列的最大值

2021-10-04 11:48:48 字數 690 閱讀 6035

題目:如標題

例子:,測試了別的也ok

leftright是為了找到他左右兩邊第乙個和它不等的數,注意不要下標溢位

在判斷nums[mid]處於非遞減還是非遞增還是最大的時候一定要注意等號,因為可能乙個不小心就跑到break那裡去了。。。

因為在邊界的時候nums[left]=nums[mid],或nums[right]=nums[mid]

#include#includeusing namespace std;

class solution

int right=mid;

while(nums[right]==nums[mid] && right=nums[left]&&nums[mid]<=nums[right])//在左邊陣列,公升序 ,帶「=」「=」「=」 帶「=」「=」「=」

else if(nums[mid]<=nums[left]&&nums[mid]>=nums[right])//在右邊陣列,降序 帶「=」「=」「=」 帶「=」「=」「=」

else

}}};

int main()

solution so;

cout<}

嚴格遞增和非嚴格遞增最長遞增子串行長度

最長遞增子串行,給定乙個無序整數陣列nums 字串也可以,不重要 給出最長嚴格遞增子串行的長度。比如輸入 1,2 1,1,1,4,0 輸出3,最長遞增子串行 1,2,4 當然可能不唯一,1,1,4 也是乙個,但是並不影響長度。強行遍歷就不說了,時間複雜度o 2 n 簡直 思路1 動態規劃,建立乙個陣...

二叉樹 非遞迴遍歷(先 中 後)

include include include define maxsize 20 最多結點個數 using namespace std 二叉鍊錶 typedef struct bnodebnode,btree 順序棧 typedef btree datatype typedef structseq...

先 中 後 遞迴,非遞迴 二叉樹

import com.ccut.aaron.stack.linkedstack public class binarytree 前序遍歷非遞迴的方式 public void preordernonrecursive binarytreenode root if stack.isempty break...