• 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

Given a sorted array and a number x, find the pair in array whose sum is closest to x

November 17, 2014 by Dhaval Dave

Given a sorted array and a number x, find a pair in array whose sum is closest to x.

Examples:

Input: arr[] = {10, 22, 28, 29, 32, 40}, x = 54
Output: 22 and 32

A simple solution is to consider every pair and keep track of closest pair (absolute difference between pair sum and x is minimum). Finally print the closest pair. Time complexity of this solution is O(n2)

An efficient solution can find the pair in O(n) time. The idea is similar to method 2 of this post. Following is detailed algorithm.

#include <iostream>
#include <climits>
#include <cstdlib>
using namespace std;

// Prints the pair with sum cloest to x
void printClosest(int arr[], int n, int x)
{
    int res_l, res_r;  
    int l = 0, r = n-1, diff = INT_MAX;
    while (r > l)
    {
       if (abs(arr[l] + arr[r] - x) < diff)
       {
           res_l = l;
           res_r = r;
           diff = abs(arr[l] + arr[r] - x);
       }
       if (arr[l] + arr[r] > x)
           r--;
       else
           l++;
    }
    cout <<" The closest pair is " << arr[res_l] << " and " << arr[res_r];
}

int main()
{
    int arr[] =  {10, 22, 28, 29, 32, 40}, x = 54;
    int n = sizeof(arr)/sizeof(arr[0]);
    printClosest(arr, n, x);
    return 0;
}

See Running code at http://ideone.com/q3F4OQ

Similar Articles

Filed Under: Adobe Interview Questions, Amazon Interview Question, Flipkart Interview 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

BFS (Breath First Search)

flattens 2 D linked list to a single sorted link list

K’th Largest Element in BST when modification to BST is not allowed

Find the number ABCD such that when multipled by 4 gives DCBA.

CodeChef’ RRCOPY

write a c program that given a set a of n numbers and another number x determines whether or not there exist two elements in s whose sum is exactly x

How strtok() Works

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

Number of Islands BFS/DFS

N teams are participating. each team plays twice with all other teams. Some of them will go to the semi final. Find Minimum and Maximum number of matches that a team has to win to qualify for finals ?

Count Possible Decodings of a given Digit Sequence

Find next greater number with same set of digits

Get Minimum element in O(1) from input numbers or Stack

Maximum occurred Smallest integer in n ranges

Amazon Interview On-Campus For Internship – 1

Convert Decimal to Roman numbers / Romanizer HackerEarth Code

Closed Parentheses checker

The Magic HackerEarth Nirvana solutions Hiring Challenge

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

SAP Hiring Off-Campus General Aptitude

Adobe Interview Questions 8 month Exp

Right view of Binary tree

DFS (Depth First Search)

Coin Collection Dynamic Programming

Level order traversal in Spiral form

Interfaces in C++ (Abstract Classes in C++)

Check a String is SUBSEQUENCE of another String Find Minimum length for that ( DNA Matching )

Test Cases for Round Function

Maximum sum contiguous subarray of an Array

Find if a binary tree is height balanced ?

Copyright © 2026 · Genesis Framework · WordPress · Log in