์๊ณ ๋ฆฌ์ฆ๐
๋ฌธ์ ํ์ด - ์ ๋ ฌ๋ ๋ ๋ฐฐ์ด ํฉ์น๊ธฐ, ์ฐ์๋ ๋ถ๋ถ ๋ฐฐ์ด์ ๊ฐ์ฅ ํฐ ํฉ ๊ตฌํ๊ธฐ
Jeein0313
2023. 7. 21. 11:51
์ ๋ ฌ๋ ๋ ๋ฐฐ์ด์ ๋ฐ์์, ์ ์ฒด ๋ฐฐ์ด์์ k๋ฒ์งธ ์์๋ฅผ ๋ฆฌํดํ๋ ๋ฌธ์
public int getItemFromTwoSortedArrays(int[] arr1, int[] arr2, int k){
int arr1_idx=0;
int arr2_idx=0;
int arr1_len= arr1.length;
int arr2_len = arr2.length;
int[] answer = new int[arr1_len + arr2_len];
int answer_idx=0;
while(arr1_idx < arr1_len && arr2_idx < arr2_len){
if(arr1[arr1_idx] <arr2[arr2_idx])
answer[answer_idx++] = arr1[arr1_idx++];
else
answer[answer_idx++] = arr2[arr2_idx++];
}
while (arr1_idx < arr1_len) {
answer[answer_idx++] = arr1[arr1_idx++];
}
while(arr2_idx < arr2_len) {
answer[answer_idx++] = arr2[arr2_idx++];
}
return answer[k];
}
์ฐ์๋ ๋ถ๋ถ ๋ฐฐ์ด์ ๊ฐ์ฅ ํฐ ํฉ์ ๊ตฌํ๊ธฐ
public int LSCS(int[] arr){
int subArrSum = 0;
int max = Integer.MIN_VALUE;
for(int i=0;i<arr.length;i++){
subArrSum = subArrSum + arr[i];
if (subArrSum > max){ max = subArrSum;}
if(subArrSum<0)//ํฉ์ด ์์์ธ ๊ฒฝ์ฐ, ์ด๊ธฐํ
subArrSum = 0;
}
return max;
}