問題描述:給定陣列a,a是元素為0或者1的陣列,我們可以更改k個陣列中的0,求陣列中最大連續子陣列的長度。
例子:
演算法思路:從0開始依次遍歷陣列,當某個元素為0的時候將其轉換為1,由於我們最終只要求解這個最大連續子陣列的長度,因此這裡 可以用k-1來表示元素從0轉換為1。如果為1,則k不變化。接著要用另外乙個變數來記錄整體最長子陣列的起始位置,即當陣列在遍歷陣列元素到底是0還是1的時候,這個子陣列的其實位置也在發生變化,這個子陣列整體的在發生變化。
如上面的例子。k=2,當j=3的時候,a[j]=0,這時k--,k=1,當j=4的時候,a[j]=0,k=0,而當j=5,a[j]=10,k--,k=-1,這時相當於把這個位置的0換成了1,表面是違背了題目,但如果將這個最長子陣列的起始位置向後移一位,即開始的位置是0,現在將其位置變為1,然後這個最長子陣列的長度就是j-i+1,這個就是這個最長子陣列的長度了。而當初始的位置為1的時候,表明捨去了乙個將0變為1的機會,因此當k<0並且這個起始位置的元素為0的時候,這個k就要加1。這個起始位置只要是當k<0了就要加1。最後j每變化乙個就和上一次的最大值進行比較,最終返回這個最大值就ok了。
**示例:
public int longestones(int a, int k) {
int res=0;
int i=0;
for(int j=0;j****思想源自以為大佬,開始還真沒想出來,看了半天原始碼才想出來。。。。。。在部落格上面積累。。。。。。。
概率的性質 連續性
概率的連續性如下定義 我們可以用韋恩圖把他們表示出來,便於理解 圖1 對應性質 1 圖2 對應性質 2 從圖1中我們可以看出,集合單調不增,打個比方,此集合會越來越小,那麼稱集合上連續 從上方逼近 極限為集合的交集。簡單的說,其實就是求多個事件都同時發生的概率為多少。圖2集合單調不減,此集合存在極限...
opencv mat連續性判斷 tcy
1.1.iscontinuous 如矩陣元素連續儲存且每行末尾沒有間隙,則該方法返回true。否則,它返回false。1.2.連續矩陣 說明 1x1或1xn矩陣始終是連續 建立新矩陣 create imread clone 或建構函式mat mat 始終是連續 矩陣借用資料 借一行或借用多行但具有完...
函式連續性與可導性
f x 在x0點導數存在表示導數不是乙個無窮大 1.函式圖象在x0點的切線不垂直於x軸 2.尖點 兩邊導數是正負無窮大 3.折點 兩邊導數不一樣 如 x 在x 0 4.間斷兩 兩邊的導數是正負無窮大 函式的在c點可導或者在c點左右可導那麼函式在c點一定連續 注意如果函式在c點不可導,那麼函式在c點有...