給定乙個陣列 和乙個數字k =4。求這個陣列的乙個最長連續子陣列,這個最長連續子陣列中所有數字的和必須小於或等於k。 例如,上面這個例子中,連續子陣列有這麼多種情況: , , , , , , , , , 。 其中符合條件的就只有。
**分析的資料跟題目不一樣但是換湯不換藥(╯▽╰ )
;//存放基礎資料
int k = 4;//
目標 int sum[9]={};
int len[9]={}; //
滑窗長度
int loclen = 0; //
記錄當前滑窗長度
int locsum = 0; //
記錄當前滑窗求和
int startindex = 0; //
記錄滑窗起始位置
for (int i = 0;i < 9;i++)
else
}printf(
"sum= ");
for (int i = 0;i < 9;i++)
printf(
"%d
", sum[i]);
printf(
"\nlen= ");
for (int i = 0;i < 9;i++)
printf(
"%d
", len[i]);
printf("\n
");return0;
}
滑動視窗求滿足的子陣列個數
題目 給定陣列arr和整數num,返回有多少個子陣列滿足如下情況 max arr i.j min arr i.j num max arr i.j 表示子陣列arr i.j 中的最大值,min arr i.j 表示子陣列arr i.j 中的最小值。如果陣列長度為 n,請實現時間複雜度為 o n 的解法...
Leetcode 滑動視窗 AC替換最長連續相同串
給定乙個只包含a和c的字串,你可以任意修改最多k個字元,讓a變成c,或者c變成a。請問修改完之後,最長連續相同字元的長度是多少。1,aaac 4類似於連續的問題,採取滑動視窗,維護乙個l r的視窗,確保視窗內的在最多k次調整下,可以組合成相同的字串。基本策略 當視窗內a的字元 c的字元都大於k時,那...
求最長連續公共子串
說到求最長公共子串首先想到的是逐個子串比較,但是那樣的話演算法的複雜度太高,後來就想到用矩陣的方法去解決 思路如下 比如字元創a abcdefg 和字串b bdeabc 建立矩陣如下圖所示 發現如果連續的斜線值為1的長度最長的話 則為最長公共子串 則abc為最長公共子串 那我們可把矩陣進化為 我們在...