考えられる解決策はここにあります。カウントソートを使用して、配列をソートできます。その後、最大の要素を見て合計を作成し、この要素を追加してもnotの正の合計が保持されるかどうかを確認し、正のままである場合はそれを追加し、カウントを増やします。これには、一部の入力にバグがある可能性があります。つまり、すべてのテストケースで機能しない可能性があります。ただし、これを改善すると目的の出力が得られるため、これは役立つアイデアにすぎません。1 つのトラバーサル カウント変数の最後に結果が得られます。例:
array=[12,10,8,5,4,-2,-3,-20,-30] //considered already sorted now
i=0 sum=12 count=1
i=1 sum=22 count=2
i=2 sum=30 count=3
i=3 sum=35 count=4
i=4 sum=39 count=5
i=5 sum=37 count=6
i=6 sum=34 count=7
i=7 sum=14 count=8
i=8 sum=14 count=8 //as now 30 cant be added
so, here count=8 says maximum length sub array of 8 can give you positive sum.