序列元素和是k的倍數的最大子串長度

2021-08-07 15:24:17 字數 624 閱讀 3117

給乙個定長的元素集,求子串中元素和是k的倍數的最大子串長度。

輸入第一行數序列長度,輸入第二行是序列各元素值,第三行是整數k

輸出序列元素子串和是k倍數的最大長度

分析:

1.元素子串是否都能考慮到,兩層迴圈就可以窮舉

2.字串和計算,並不停比對是否是k倍數,若是記錄子串長度

3.輸出最長子串長度

public

class ratiosubstring

int k;

k = in.nextint();

int sum = 0;

int j = 0;

int l = 0;

int maxl = 0;//更新子串最大長度

for (i = 0; i < m; i++)

if (l > maxl) //一輪迴圈更新最大子串長度

maxl = l;

sum = 0;//下一輪更換子串起點,累加值清零

}system.out.println(maxl);

}}

最開始用的是陣列儲存每個起點開始的最大子串長度,最後精簡用乙個變數儲存。據說並沒有全通過測試用例,不管怎樣,貼出來分享,歡迎交流。

最大子串行的和

講的很詳細。5 1 最大子列和問題 20分 給定kk個整數組成的序列,連續子列 被定義為n i 1 n jn j 其中 1 le i le j le k1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大...

最大子串行和的求法

定義 給定整數a1a a1 a2a a2 a3a a3 ana an 可能有複數 求 k ijak sum ja k ij ak 的最大值 為方便起見,如果所有整數均為負數,則最大子串行和為0 演算法一 int maxsubsequencesum const int a,int n return m...

經典的最大子串行和

給定乙個整數陣列,找到乙個連續子陣列其元素之和最大並返回 input nums output 最大連續子陣列之和 三種解法,分別是動態規劃 貪心法 分治法,其中分治演算法不是最優的。定義d p i dp i dp i 以位置i ii為結尾的子陣列最大和 d p i 1 dp i nums i dp ...