Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added linear search algorithm #297

Merged
merged 1 commit into from
Oct 20, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions Java/LinearSearch.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
package com.company;

public class LinearSearch {
/*public static void main(String[] args) {
int[] nums ={23, 45, 1, 2, 8, 19, -3, 16, -11, 28};
int target = 19;
int ans = linearSearch(nums,target);
System.out.println(ans);
}
*/

//search in the array : return the index of the item found
//otherwise if item not found return -1

static int linearSearch(int arr[], int target){
if(arr.length ==0){
return -1;
}

// run a for loop
for(int index =0; index< arr.length; index++){
//check for element at every index if it is equal to target
int element = arr[index];
if(element == target){
return index;
}
}
// This line will execute if none of the return statements above have executed
//Hence the target not found
return -1;
}

// Even digits problem-
public static void main(String[] args) {
int[] nums = {12,345,2,6,7896};
System.out.println(findNumbers(nums));
System.out.println(digits(5678));
}

static int findNumbers(int[] nums){
int count =0;
for(int num:nums){
if(even(num)){
count++;
}
}
return count;
}

// function to check whether a number contains even digits or not
static boolean even(int num){
int numberOfDigits = digits(num);
/*
if(numberOfDigits % 2==0){
return true;
)
return false;
*/
return numberOfDigits% 2==0;
}

// count number of digits( int num)
static int digits(int num){
int count = 0;
if(num <0){
num = num*-1;
}
if(num ==0){
return 1;
}
while(num>0){
count++;
num /= 10;
}
return count;
}
}