Skip to content

Instantly share code, notes, and snippets.

@tanaykumarbera
Created March 17, 2015 13:53
Show Gist options
  • Save tanaykumarbera/a6a3a9f6d307a30b4de8 to your computer and use it in GitHub Desktop.
Save tanaykumarbera/a6a3a9f6d307a30b4de8 to your computer and use it in GitHub Desktop.
Minimum

###Minimum in a List - A linear approach

MIN(array):
	
	minimum = INFINITY /* Assign the largest possible value */
	FOR i = 0 TO (array.length - 1)
		IF array[i] < minimum
			/* If a number lesser than current minimum is encountered, */
			/* assign it as new minimum. */
			minimum = array[i]
		END IF
	END FOR

	RETURN minimum

END MIN

The loop iterates over the whole array, making it's best, average and worst an O(n).

/*
MINIMUM in array
0 based indexing
** for TURBO C, remove // from commented statements
*/
#include<stdio.h>
//#include<conio.h>
#define INFINITY 999
int max(int *arr, int arr_length){
int i, minimum = INFINITY;
for(i = 0; i <= arr_length - 1; i++){
if(arr[i] < minimum){
minimum = arr[i];
}
}
return minimum;
}
int main(){
int arr[10], len;
int i, minimum;
printf("\nEnter length (max 10): "); scanf("%d", &len);
printf("\nEnter %d elements one after another:\n", len);
for(i=0; i<len; i++) scanf("%d", &arr[i]);
printf("\nYour Array ::\n\t");
for(i=0; i<len; i++) printf("%d ", arr[i]);
minimum = max(arr, len);
printf("\nMinimum in this array: %d", minimum);
printf("\n");
//getch();
return 0;
}
/*
MINIMUM in array
0 based indexing
Save File as Minimum.java
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Minimum{
public static int max(int[] arr){
/* Why static? Since we are calling from main, which itself is static */
int minimum = 999;
for(int i = 0; i <= arr.length - 1; i++){
if(arr[i] < minimum){
minimum = arr[i];
}
}
return minimum;
}
public static void main(String s[]) throws NumberFormatException, IOException{
BufferedReader ip = new BufferedReader(new InputStreamReader(System.in));
System.out.print("\nEnter length: ");
int len = Integer.parseInt(ip.readLine());
int[] arr = new int[len];
System.out.println("\nEnter "+ len +" elements one after another:");
for(int i = 0; i < len; i++) arr[i] = Integer.parseInt(ip.readLine());
System.out.println("\nYour Array :");
for(int i = 0; i < len; i++) System.out.print(" " + arr[i]);
int minimum = max(arr);
System.out.println("\nMinimum in this array: " + minimum);
System.out.println("\n");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment