Amazon Interview Question
Quality Assurance EngineersCountry: India
let a = [1,0,1,0,0,1,0,1,0,0,0,0,0]
func zeroFollowedByOne(a: [Int]) -> [Int] {
var a = a
var l = 0
var h = a.count - 1
while l < h {
if a[l] == 1 && a[h] == 0 {
let temp = a[h]
a[h] = a[l]
a[l] = temp
l+=1
h-=1
} else if a[l] == 0 && a[h] == 1 {
l+=1
h-=1
} else if a[l] == 0 && a[h] == 0 {
l+=1
}
}
return a
}
let a = [1,0,1,0,0,1,0,1,0,0,0,0,0]
func zeroFollowedByOne(a: [Int]) -> [Int] {
var a = a
var l = 0
var h = a.count - 1
while l < h {
if a[l] == 1 && a[h] == 0 {
let temp = a[h]
a[h] = a[l]
a[l] = temp
l+=1
h-=1
} else if a[l] == 0 && a[h] == 1 {
l+=1
h-=1
} else if a[l] == 0 && a[h] == 0 {
l+=1
}
}
return a
}
let a = [1,0,1,0,0,1,0,1,0,0,0,0,0]
func zeroFollowedByOne(a: [Int]) -> [Int] {
var a = a
var l = 0
var h = a.count - 1
while l < h {
if a[l] == 1 && a[h] == 0 {
let temp = a[h]
a[h] = a[l]
a[l] = temp
l+=1
h-=1
} else if a[l] == 0 && a[h] == 1 {
l+=1
h-=1
} else if a[l] == 0 && a[h] == 0 {
l+=1
}
}
return a
}
public static void main(String[] args) {
int array[]= {0,1,1,0,0,1,0,0,1};
int lastIndexValue=array.length-1;
int newArray[]= new int[array.length];
for(int i=0;i<array.length;i++) {
if(array[i]==1) {
newArray[lastIndexValue]=1;
lastIndexValue--;
}
}
System.out.println(Arrays.toString(newArray));
}
public static void main(String[] args) {
int array[]= {0,1,1,0,0,1,0,0,1};
int lastIndexValue=array.length-1;
int newArray[]= new int[array.length];
for(int i=0;i<array.length;i++) {
if(array[i]==1) {
newArray[lastIndexValue]=1;
lastIndexValue--;
}
}
System.out.println(Arrays.toString(newArray));
}
public static void main(String[] args)
{
int arr[] = { 1, 9, 8, 4, 0, 0, 2, 7, 0, 6, 0, 9
int n = arr.length;
int count = 0;
for (int i = 0; i<=arr.length-1; i++)
{
if (arr[i] != 0)
arr[count++] = arr[i];
}
while (count < n)
{
arr[count++] = 0;
}
System.out.println("Array after pushing zeros to the back: ");
for (int i = 0; i<=arr.length-1; i++)
{
System.out.print(arr[i]+" ");
}
}
public class BinaryArray {
public static void main(String[] args) {
int[] arr = new int[]{0, 0, 0, 1, 1, 1, 0};
sort(arr);
for (int a : arr) System.out.println(a);
}
private static void sort(int[] arr) {
int i = 0;
int j = arr.length - 1;
while (i <= j) {
while (arr[i] != 1) i++;
while (arr[j] != 0) j--;
if (i <= j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
}
}
public static int[] SortBinaryArr(int[] num)
{
int len = num.Length-1;
int beg = 0;
int[] result = new int[num.Count()];
while(beg != len)
{
if(num[beg] > num[len])
{
result[beg] = num[len];
result[len] = num[beg];
}
else
{
result[beg] = num[beg];
result[len] = num[len];
}
beg++;
len--;
}
return result;
}
public static void main(String[] args) {
int array[] = { 2,3,3,3,3,2,2, 2, 3,1,9 };
int array_len = array.length;
Arrays.sort(array);// [1, 1, 1, 1, 2, 2, 2, 2, 2]
System.out.println(Arrays.toString(array));
int newArr[] = new int[array_len];// new int[8]
for (int i = 0; i < array.length; i++) {// 0-8//9 iterations
newArr[i] = array[array_len-1];// newArr[0] = array[8]
array_len--;
}
System.out.println(Arrays.toString(newArr));
}
- Anonymous October 24, 2019