## Find the Number Occurring Odd Number of Times

Find the Number Occurring Odd Number of Times Given an array of positive integers. All numbers occur even number of times except one number which occurs odd number of times. Find the number in O(n) time & constant space. Example: I/P = [1, 2, 3, 2, 3, 1, 3] O/P = 3 A Simple Solution

## Majority Element

Majority Element Majority Element: A majority element in an array A[] of size n is an element that appears more than n/2 times (and hence there is at most one such element). Write a function which takes an array and emits the majority element (if it exists), otherwise prints NONE as follows: I/P : 3

## Given an array A[] and a number x, check for pair in A[] with sum as x

Given an array A[] and a number x, check for pair in A[] with sum as x Write a C program that, given an array A[] of n numbers and another number x, determines whether or not there exist two elements in S whose sum is exactly x. METHOD 1 (Use Sorting) Algorithm: hasArrayTwoCandidates (A[],

## Analysis of Algorithm | Set 4 (Solving Recurrences)

Analysis of Algorithm | Set 4 (Solving Recurrences) In the previous post, we discussed analysis of loop. Many algorithms are recursive in nature. When we analyze them, we get a recurrence relation for time complexity. We get running time on an input of size n as a function of n and the running time on inputs of

## Analysis of Algorithms | Set 4 (Analysis of Loops)

Analysis of Algorithms | Set 4 (Analysis of Loops)   We have discussed asymtotic analysis, best worst and average cases and asymptotic notations in previous posts. In this post, analysis of iterative programs with simple examples is discussed. 1) O(1): Time complexity of a function (or set of statements) is considered as O(1) if it doesn’t contain

## Analysis of Algorithms | Set 3 (Asymptotic Notations)

Analysis of Algorithms | Set 3 (Asymptotic Notations) We have discussed asymptotic analysis, and worst average and best cases of algorithms. The main idea of asymptotic analysis is to have a measure of efficiency of algorithms that doesn’t depend on machine specific constants, and doesn’t require algorithms to be implemented and time taken by programs