Computer Professionals
You will be asked to complete a real test as part of your application process.
The purpose of this short test is to assess your ability to solve elementary programming problems in a language of your choice.
Write your solutions in Java if you are familiar with that language; otherwise use one of these languages: C, C++, or C#. For each of the problems below, write the simplest, clearest solution you can, in the form of a short program.
SAMPLE TEST
1. An array with an odd number of elements is said to be centered if all elements (except the middle one) are strictly greater than the value of the middle element. Note that only arrays with an odd number of elements have a middle element. Write a function that accepts an integer array and returns 1 if it is a centered array, otherwise it returns 0.
Examples:
if the input array is return
{1, 2, 3, 4, 5} 0 (the middle element 3 is not strictly less than all other elements)
{3, 2, 1, 4, 5} 1 (the middle element 1 is strictly less than all other elements)
{3, 2, 1, 4, 1} 0 (the middle element 1 is not strictly less than all other elements)
{1, 2, 3, 4} 0 (no middle element)
{} 0 (no middle element)
{10} 1 (the middle element 10 is strictly less than all other elements)
Answers
First answer
static int a1(int[] a)
{
if (a == null || a.length % 2 == 0) return 0;
int midIndex = a.length / 2 ;
int middleItem = a[midIndex];
for (int i=0; i<a.length; i++)
{
if (i != midIndex && middleItem >= a[i])
return 0;
}
return 1;
}
2. Write a function that takes an array of integers as an argument and returns a value based on the sums of the even and odd numbers in the array. Let X = the sum of the odd numbers in the array and let Y = the sum of the even numbers. The function should return X – Y
The signature of the function is:
int f(int[ ] a)
Examples
if input array is return
{1} 1
{1, 2} -1
{1, 2, 3} 2
{1, 2, 3, 4} -2
{3, 3, 4, 4} -2
{3, 2, 3, 4} 0
{4, 1, 2, 3} -2
{1, 1} 2
{} 0
Second answer
static int a2(int[] a)
{
int sumEven = 0;
int sumOdd = 0;
for (int i=0; i<a.length; i++)
{
if (a[i]%2 == 0)
sumEven += a[i];
else
sumOdd += a[i];
}
return sumOdd - sumEven;
}
3. Write a function that accepts a character array, a zero-based start position and a length. It should return a character array containing containing lengthcharacters starting with the startcharacter of the input array. The function should do error checking on the start position and the length and return null if the either value is not legal.
The function signature is:
char[ ] f(char[ ] a, int start, int len)
Examples
if input parameters are return
{‘a’, ‘b’, ‘c’}, 0, 4 null
{‘a’, ‘b’, ‘c’}, 0, 3 {‘a’, ‘b’, ‘c’}
{‘a’, ‘b’, ‘c’}, 0, 2 {‘a’, ‘b’}
{‘a’, ‘b’, ‘c’}, 0, 1 {‘a’}
{‘a’, ‘b’, ‘c’}, 1, 3 null
{‘a’, ‘b’, ‘c’}, 1, 2 {‘b’, ‘c’}
{‘a’, ‘b’, ‘c’}, 1, 1 {‘b’}
{‘a’, ‘b’, ‘c’}, 2, 2 null
{‘a’, ‘b’, ‘c’}, 2, 1 {‘c’}
{‘a’, ‘b’, ‘c’}, 3, 1 null
{‘a’, ‘b’, ‘c’}, 1, 0 {}
{‘a’, ‘b’, ‘c’}, -1, 2 null
{‘a’, ‘b’, ‘c’}, -1, -2 null
{}, 0, 1 null
Third answer
static char[] a3(char[] a, int start, int length)
{
if (length < 0 || start < 0 || start+length-1>=a.length)
{
return null;
}
char[] sub = new char[length];
for (int i=start, j=0; j<length; i++, j++)
{
sub[j] = a[i];
}
return sub;
}
4. Write a function to reverse an integer using numeric operators and without using any arrays or other data structures.
The signature of the function is:
int f(int n)
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of