連続して正シーケンスs(シンプル):3月6日の日の活動は、顔の質問に57個の質問をパンチ
- タイトル:正の整数ターゲット、すべての連続する正の整数の出力、および(少なくとも2つの数値を含む)標的配列を入力します。昇順で番号が最初の数字に応じて異なる配列の昇順に配列されています。
- ダブルポインタ方式、およびTより大きく、右へ左へのポインタ、少ないトン以上で、かつ右へ右ポインタ:アイデアを問題解決。
class Solution {
public int[][] findContinuousSequence(int target) {
List<int[]> ansList = new ArrayList<>();
int start = 1;
int end = 0;
int sum = 0;
while(end<=(target+1)/2){
if(sum < target){
end++;
sum += end;
}else if(sum > target){
sum-=start;
start++;
}else if(sum == target){
int j = 0;
int[] ans = new int[end-start+1];
for(int i=start;i<=end;i++){
ans[j++]= i;
}
ansList.add(ans);
end++;
sum += end;
}
}
return ansList.toArray(new int[0][]);
}
}
- 問題解決のアプローチ:このアプローチは、法を見つけるために数学の問題になった、(TI)/(I ++)場合= 0、配列のi番目の要素があり、私はこの法律が来ているのか分かりません。。。しかし、また素晴らしいダブル100%!
class Solution {
public int[][] findContinuousSequence(int target) {
List<int[]> result = new ArrayList<>();
int i = 1;
while(target>0)
{
target -= i++;
if(target>0 && target%i == 0)
{
int[] array = new int[i];
for(int k = target/i, j = 0; k < target/i+i; k++,j++)
{
array[j] = k;
}
result.add(array);
}
}
Collections.reverse(result);
return result.toArray(new int[0][]);
}
}
作者:VaporMax
链接:https://leetcode-cn.com/problems/he-wei-sde-lian-xu-zheng-shu-xu-lie-lcof/solution/java-shuang-100-by-vapormax/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。