• Skip to primary navigation
  • Skip to content
  • Skip to primary sidebar
  • Skip to secondary sidebar

GoHired

Interview Questions asked in Google, Microsoft, Amazon

Join WeekEnd Online Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

  • Home
  • Best Java Books
  • Algorithm
  • Internship
  • Certificates
  • About Us
  • Contact Us
  • Privacy Policy
  • Array
  • Stack
  • Queue
  • LinkedList
  • DP
  • Strings
  • Tree
  • Mathametical
  • Puzzles
  • Graph

Find an index i such that Arr [i] = i in array of n distinct integers sorted in ascending order.

August 12, 2014 by Dhaval Dave

Given an array of n distinct integers sorted in ascending order, write a function that returns a Fixed Point in the array such that Arr[i] = i .
If there is any Fixed Point present in array, else returns -1.
Note that integers in array can be negative.

Example :

  Input: arr[] = {-2, -1, 1, 3, 5}
Output: 3 // arr[3] == 3

Input: arr[] = {-4, -1, 1, 2, 5, 8}
Output: -1 // No Fixed Point

First Simple Method : Linear Search
for(i = 0; i < n; i++){
        if(arr[i] == i) return i;
}
Complexity O(n)

Method 2 : Divide and Conquer (As numbers is sorted we can use it as binary search)

Thanks to Dhaval for suggesting this Code.

int indexSearch(int arr[], int low, int high)
{
    if(high >= low)
    {
        int mid = (low + high)/2;
        if(mid == arr[mid])
            return mid;
        if(mid > arr[mid])
            return indexSearch(arr, (mid + 1), high);
        else
            return indexSearch(arr, low, (mid -1));
    }

    /* Return -1 if there is no Fixed Point */
    return -1;
}
int main()
{
    int arr[] = {-2, -1, 1, 3, 5};
    int n = sizeof(arr)/sizeof(arr[0]);
    printf(“Fixed Point is %d”, indexSearch(arr, 0, n-1));
    getchar();
    return 0;
}

Similar Articles

Filed Under: Amazon Interview Question, Flipkart Interview Questions, Hacker Earth Questions, Interview Questions, problem Tagged With: Array

Reader Interactions

Primary Sidebar

Join WeekEnd Online/Offline Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

Join WeekEnd Online/Offline Batch from 4-April-2020

WhatsApp us

Secondary Sidebar

Custom Search

  • How I cracked AMAZON
  • LeetCode
  • Adobe
  • Amazon
  • Facebook
  • Microsoft
  • Hacker Earth
  • CSE Interview

Top Rated Questions

VMWare SDEII Interview

VMWare Openings

TicTacToe Game As Asked in Flipkart

Given Set of words or A String find whether chain is possible from these words or not

Printing each word reverse in string

robot standing at first cell of an M*N matrix. It can move only in two directions, right and down. In how many ways, it can reach to the last cell i.e. (M, N) Code it

flattens 2 D linked list to a single sorted link list

Leetcode: Merge Intervals

Reversal of LinkedList

Convert Decimal to Roman numbers / Romanizer HackerEarth Code

Stock Buy Sell to Maximize Profit

‘N’ Story Building, with 1,2,3 steps how many ways can a person reach top of building.

Apriori algorithm C Code Data Mining

Find if two rectangles overlap

Print vertical sum of all the axis in the given binary tree

Find if a binary tree is height balanced ?

LeetCode : Word Search

Maximum sum contiguous subarray of an Array

Amazon Interview Experience – SDE Chennai

Knight Tour Problem (Graph – Breadth First Search)

SAP Interview Questions

BFS (Breath First Search)

Advanced SQL Injection

There are N nuts and N bolts, u have to find all the pairs of nuts and bolts in minimum no. of iteration

DFS (Depth First Search)

Client Server C program

1014 Practice Question of New GRE – Princeton

Find the element that appears once others appears thrice

LeetCode: Binary Tree Maximum Path Sum

Inorder and Preorder traversals of a Binary Tree given. Output the Postorder traversal of it.

Copyright © 2025 · Genesis Framework · WordPress · Log in