This post contains the solutions to Java Array-1 section of codingbat.com for problems 1 to 14. If you are new here, you can check my previous post learn-coding-computer-programming-for-beginners.Solutions to previous sections are also available check the links to java-warmup-1 , java-warmup-2, java-string1.
1. Problem Name : firstLast6
Solution:
Hint: Return true if 6 appears as either the first or last element in the
array.
Constraint:
The array will be length 1 or more.
public boolean firstLast6(int[] nums)
{
return((nums[0]==6)||nums[nums.length-1]==6);
}
|
2. Problem Name : sameFirstLast
Solution:
Hint:
return true if the array is length 1 or more, and the first element and the
last element are equal.
public boolean sameFirstLast(int[] nums)
{
if(nums.length>1)
return((nums[0]==nums[nums.length-1]));
else if(nums.length==1)
return true;
else
return false;
}
|
3. Problem Name : makePi
Solution:
Hint:
Return an int array length 3 containing the first 3 digits of pi, {3, 1, and 4}.
public int[] makePi()
{
int pi[]={3,1,4};
return pi;
}
|
4. Problem Name : commonEnd
Solution:
Hint:
return true if they have the same first
element or they have the same last element
public boolean commonEnd(int[] a, int[] b)
{
if(a.length>=1 && b.length >=1)
return ((a[0]==b[0])||(a[a.length-1]==b[b.length-1]));
else
return (false);
}
|
5. Problem Name : sum3
Solution:
Hint: return the sum of all the
elements.
public int sum3(int[] nums)
{
if(nums.length>=3)
return(nums[0]+nums[1]+nums[2]);
else
return 0;
}
|
6. Problem Name : rotateLeft3
Solution:
Hint:
return an array with the elements "rotated left" so {1, 2, 3}
yields {2, 3, 1}.
public int[] rotateLeft3(int[] nums)
{
int i=0;int first=0;
first=nums[0];
for(i=1;i<nums.length;i++)
nums[i-1]=nums[i];
nums[nums.length-1]=first;
return nums;
}
|
7. Problem Name : reverse3
Solution:
Hint: Given an array
of ints length 3, return a new array with the elements in reverse order, so {1,
2, 3} becomes {3, 2, 1}.
public int[] reverse3(int[] nums)
{
int tmp=0;
tmp=nums[0];
nums[0]=nums[2];
nums[2]=tmp;
return nums;
}
|
8. Problem Name : maxEnd3
Solution:
Hint: Given an array of ints length 3, figure
out which is larger between the first and last elements in the array, and set
all the other elements to be that value. Return the changed array.
public int[] maxEnd3(int[] nums)
{
int max=0;
if(nums[0]>nums[nums.length-1])
max=nums[0];
else
max=nums[2];
nums[0]=max;
nums[1]=max;
nums[2]=max;
return nums;
}
|
9. Problem Name : sum2
Solution:
Hint: Given an array of ints, return the sum
of the first 2 elements in the array. If the array length is less than 2, just
sum up the elements that exist, returning 0 if the array is length 0.
public int sum2(int[] nums)
{
int i=0,sum=0;
if(nums.length>2)
{
for(i=0;i<2;i++)
sum+=nums[i];
}
else
{
for(i=0;i<nums.length;i++)
sum+=nums[i];
}
return sum;
}
|
10. Problem Name : middleWay
Solution:
Hint: Given 2 int arrays, a and b, each
length 3, return a new array length 2 containing their middle elements.
public int[] middleWay(int[] a, int[] b)
{
int[] c = new int[2];
c[0]=a[1];
c[1]=b[1];
return c;
}
|
11. Problem Name : makeEnds
Solution:
Hint: Given an array
of ints, return a new array length 2 containing the first and last elements
from the original array. The original array will be length 1 or more.
public int[] makeEnds(int[] nums)
{
int[] res = new int[2];
if(nums.length>1)
{
res[0]=nums[0];
res[1]=nums[nums.length-1];
}
if(nums.length==1)
{
res[0]=nums[0];
res[1]=nums[0];
}
return res;
}
|
12. Problem Name : has23
Solution:
Hint: Given an int array length 2, return true if
it contains a 2 or a 3.
public boolean has23(int[] nums)
{
return(nums[0]==2||nums[1]==2||nums[0]==3||nums[1]==3);
}
|
13. Problem Name : no23
Solution:
Hint: Given an int array length 2, return true if
it does not contain a 2 or 3.
public boolean no23(int[] nums)
{
return(!(nums[0]==2||nums[1]==2||nums[0]==3||nums[1]==3));
}
|
14. Problem Name : makeLast
Solution:
Hint: return a new array with double the length where its last element is the same as the original array, and all the other elements are 0
Constraint: The original array will be length 1 or more.
public int[] makeLast(int[] nums)
{
int[] a = new int[nums.length*2];
a[a.length-1]=nums[nums.length-1];
return a;
}
|
No comments:
Post a Comment