Arrays
Arrays
max= arr[i];
return max;
***2nd largest
if(n<2)
return -1;
int i;
second_large = large;
large = arr[i];
{
second_large = arr[i];
return second_large;
}
return false;
return true;
***Left rotate by 1
arr[n - 1] = temp;
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
Reverse(arr, 0, n - 1);
Reverse(arr, 0, k - 1);
Reverse(arr, k, n - 1);
Reverse(arr, 0, k - 1);
Reverse(arr, k, n - 1);
// Reverse whole array
Reverse(arr, 0, n - 1);
System.out.println();
int j = -1;
if (a[i] == 0) {
j++;
a[i] = a[j];
a[j] = tmp;
return a;
}
Right
int j = -1;
//place the pointer j:
if (a[i] == 0) {
j = i;
break;
if (a[i] != 0) {
a[i] = a[j];
a[j] = tmp;
j++;
return a;
}
***Binary array sorting
int j = -1;
j++;
a[i] = a[j];
a[j] = tmp;
return a;
}
***Arrays of 0s,1s,2s
if (arr.get(i) == 0) cnt0++;
else cnt2++;
for (int i = cnt0; i < cnt0 + cnt1; i++) arr.set(i, 1); // replacing 1's
for (int i = cnt0 + cnt1; i < n; i++) arr.set(i, 2); // replacing 2's
if (arr.get(mid) == 0) {
arr.set(low, arr.get(mid));
arr.set(mid, temp);
low++;
mid++;
} else if (arr.get(mid) == 1) {
mid++;
} else {
arr.set(mid, arr.get(high));
arr.set(high, temp);
high--;
}
}
int j = -1;
if (a[i] < 0) {
j++;
a[i] = a[j];
a[j] = tmp;
}
return a;
***Remove duplicates
class Solution {
int j=0;
int n=nums.length;
for(int i=1;i<n;i++){
if(nums[i]!=nums[j]){
j++;
int temp=nums[i];
nums[i]=nums[j];
nums[j]=temp;
}
return j+1;
}
UNION
int i = 0, j = 0; // pointers
Union.add(arr1[i]);
i++;
} else // case 3
Union.add(arr2[j]);
j++;
if (Union.get(Union.size()-1) != arr1[i])
Union.add(arr1[i]);
i++;
if (Union.get(Union.size()-1) != arr2[j])
Union.add(arr2[j]);
j++;
return Union;
INTERSECTION
int i = 0, j = 0;
if (arr1[i] == arr2[j]) {
intersection.add(arr1[i]);
i++;
j++;
i++;
} else {
j++;
}
return intersection;
***2 sum
Arrays.sort(arr);
if (sum == target) {
return "YES";
} else if (sum < target) left++;
else right--;
return "NO";
if (mpp.containsKey(moreNeeded)) {
ans[0] = mpp.get(moreNeeded);
ans[1] = i;
return ans;
mpp.put(arr[i], i);
return ans;
int cnt = 0;
int maxi = 0;
if (nums[i] == 1) {
cnt++;
} else {
cnt = 0;
return maxi;
int xorr = 0;
return xorr;
int maxPro = 0;
return maxPro;
}
long sum = 0;
sum += arr[i];
maxi = sum;
if (sum < 0) {
sum = 0;
for(int i=1;i<arr.length;i++) {
prod1 = temp;
result = Math.max(result,prod1);
return result;