Zycus Interview Question
Software Engineer / Developerspublic int findSecondMin(int[] arr){
int secondMin = arr[0];
int min = arr[0];
for(int i=0;i<arr.length;i++) {
if(arr[i]<min || arr[i]<secondMin) {
if (arr[i]<secondMin && arr[i]> min){
secondMin = arr[i];
} else {
secondMin = min;
min = arr[i];
}
}
}
return secondMin;
}
This function should give the secondMin value in an array
public static int secondMinimum(int[] arr) {
int[] mins = new int[2];
mins[0] = Integer.MAX_VALUE;
mins[1] = Integer.MAX_VALUE;
for(int i = 0; i < arr.length; i++) {
if(arr[i] < mins[1]) {
if(arr[i] < mins[0]) {
mins[1] = mins[0];
mins[0] = arr[i];
} else {
mins[1] = arr[i];
}
}
}
return mins[1];
}
import java.io.*;
class Minima
{
public static void main(String args[])
{
System.out.println("Enter size:");
int s=Integer.parseInt(System.console().readLine());
int a[]=new int[s];
System.out.println("Enter elements");
for(int i=0;i<s;i++)
a[i]=Integer.parseInt(System.console().readLine());
int m1=a[0],m2=-9999,c=0;
for(int i=0;i<s;i++)
{
if(a[i]<m1 && a[i]>m2)
{
m1=a[i];
}
if(i==s-1 && c==0)
{
i=-1;
c++;
m2=m1;
m1=999;
}
}
System.out.println("Minimum element:"+m2+"\n2nd minimum:"+m1);
}
}
/**
*
* @author Alam Mustaque
* Write a java code to find the second minimum element in an array using single loop.
*/
public void secondMinimum(){
int[] arr = {4,30,20,100,700,900,0,9,8,6,1,3};
for(int ar:arr){
System.out.print(" "+ar);
}
int min=arr[0];
int smin = arr[1];
for(int i=2;i<arr.length;i++){
if(arr[i]<min || smin<min){
smin=min;
min=arr[i];
}
if(arr[i]>min && arr[i]<smin){
smin=arr[i];
}
}
System.out.println("\n Secon min is "+smin+" min = "+min);
}
/**
*
* @author Alam Mustaque
* Write a java code to find the second minimum element in an array using single loop.
*/
public void secondMinimum(){
int[] arr = {4,30,20,100,700,900,0,9,8,6,1,3};
for(int ar:arr){
System.out.print(" "+ar);
}
int min=arr[0];
int smin = arr[1];
for(int i=2;i<arr.length;i++){
if(arr[i]<min || smin<min){
smin=min;
min=arr[i];
}
if(arr[i]>min && arr[i]<smin){
smin=arr[i];
}
}
System.out.println("\n Secon min is "+smin+" min = "+min);
}
public class Test9 {
public static void main(String[] args) {
// find second lowest number
int[] input = {31,22,13,54,45,26,87,18,39,60};
int lowestNum = 100000;
int targetNum = 10000;
for(int i = 0; i < input.length;i++){
if(input[i] < targetNum){
targetNum = input[i];
}else if(targetNum < lowestNum){
// swap
int temp = 0;
temp = targetNum;
targetNum = lowestNum;
lowestNum = temp;
}
}
System.out.println("target Num : "+targetNum);
System.out.println("lowest Num : "+lowestNum);
}
}
public class JavaApplication1 {
public static void main(String[] args)
{
int i;
int[] n=new int[]{2,10,90,52,30,67,93,45,1,78,40,88};
int m1=n[0],m2=n[1];
for(i=0;i<n.length;i++)
{
if(m1>n[i] || m2>n[i] && m1>m2)
{
m2=m1;
m1=n[i];
}
}
System.out.println("2nd min "+m2);
}
}
<pre lang="" line="1" title="CodeMonkey43364" class="run-this">/* The class name doesn't have to be Main, as long as the class is not public. */
- Anonymous May 22, 2011class Main
{
public static void main (String[] args) throws java.lang.Exception
{
java.io.BufferedReader r = new java.io.BufferedReader (new java.io.InputStreamReader (System.in));
String s;
while (!(s=r.readLine()).startsWith("42")) System.out.println(s);
}
}
</pre><pre title="CodeMonkey43364" input="yes">public int findSecondMin(int[] arr){
int secondMin = arr[0];
int min = arr[0];
for(int i=0;i<arr.length;i++) {
if(arr[i]<min || arr[i]<secondMin) {
if (arr[i]<secondMin && arr[i]> min){
secondMin = arr[i];
} else {
secondMin = min;
min = arr[i];
}
}
}
return secondMin;
}</pre>