blog

最小長を持つ部分配列

n 個の正の整数からなる配列と s 個の正の整数が与えられたとき,その和が s 以上を満たす最小の長さを持つ配列の連続した部分配列を求め,その長さを返します.そのような部分配列が存在しない場合は 0 ...

Feb 15, 2020 · 1 min. read
シェア

n 個の正整数の配列と s 個の正整数が与えられたとき、和 ≧ s を満たす最小長の配列の連続する部分配列を求め、その長さを返します。そのような部分配列が存在しない場合は 0 を返します。

 
入力: s= 7, nums = [2,3,1,2,4,3]
出力:2
解释:子数组 [4,3] は、その条件で最小の長さを持つ部分配列である。

リンク

アイデア:移動ウィンドウを使用、[i,j]、拡大はj++、縮小はi++。

 public int minSubArrayLen(int s, int[] nums) {
 int i = 0;
 int j = 0;
 int min = nums.length + 1;
 int sum = 0;
 while(j < nums.length) {
 sum += nums[j];
 while(sum >= s) {
 min = Math.min(min, j-i+1);
 sum -= nums[i];
 i++;
 }
 j++;
 }
 return min == nums.length + 1 ? 0 : min; 
 
 
 }
Read next

Nodeの概要

09rdはV8をベースに軽量なWebサーバとライブラリ一式を構築しています。 1.なぜJSなのか 高性能なウェブサーバを構築する鍵は、イベントドリブン、非同期IOであり、これはJSによって自然にサポートされます。 2.なぜNodeなのか NodeはWebアプリケーションを構築するための基本的なフレームワークとなっており、アプリケーションを構築するための基盤として使用することができます。各Nodeは、シングルスレッドの単一プロセスとして、大規模な分散アプリケーションを構築するための ...

Feb 15, 2020 · 2 min read