• 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

Password Predictor

October 9, 2014 by Dhaval Dave

Danny has a possible list of passwords of Manny’s facebook account. All passwords length is odd. But Danny knows that Manny is a big fan of palindromes. So, his password and reverse of his password both should be in the list.
You have to print the length of Manny’s password and it’s middle character.
Note : The solution will be unique.

INPUT
The first line of input contains the integer N, the number of possible passwords.
Each of the following N lines contains a single word, its length being an odd number greater than 2 and lesser than 14. All characters are lowercase letters of the English alphabet.

OUTPUT
The first and only line of output must contain the length of the correct password and its central letter.

CONSTRAINTS
1 < = N <= 100

Sample Input
4
abc
def
feg
cba

Sample Output
3 b

Logic :

Store each password and its reverse in hash function.
for each password search weather its reverse is existing in hash or not.

If yes, return length+middle element of it.
else continue.

#include <stdio.h>
#include <iostream>
#include <string>
#include <unordered_map>

using namespace std;
#define MAX 100
string reverse(string temp){
    //cout<<” In function “<<temp;
    char pwd[temp.length()];
    int j=0;
    for(int i=(temp.length())-1;i>=0;i–,j++){
        pwd[j]=temp[i];
    }
    pwd[j]=’’;
    string str(pwd);
    return str;
}
int findPassword(string password[],int k){
    string temp;
    char *op;
    unordered_map<string, string> ht;
    for(int i=0;i<k;i++){
        if(password[i].length()%2 == 0 ) {cout<<“error in length” ; return 0 ;}    
        temp=password[i];
        ht.insert(make_pair(temp,reverse(temp)));
        if(ht.find(reverse(temp))!=ht.end()){
            //cout<<temp<< “<=>” <<reverse(temp)<<endl ;
            cout<<password[i].length()<<” “<<temp[(password[i].length())/2];
            return 1;
        }//if
    }//for
    return 0;
}
int main(){

    string password[MAX];
    unordered_map<string, string> ht;

    int i=0, j=0, k=0, t=0;
    cin>>t;
    k=t;
    while(t){
        cin>>password[i];
        –t; ++i;
    }
    findPassword(password,k);

}//main

see working code here : http://ideone.com/WqbO5v

Новости видео

Similar Articles

Filed Under: Adobe Interview Questions, Amazon Interview Question, Hacker Earth Questions, Interview Questions, problem Tagged With: string

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

Find Pythagorean Triplets in an array in O(N)

Check if an array has duplicate numbers in O(n) time and O(1) space

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

Find if a binary tree is height balanced ?

C++ OOPs Part2

Doubly linked list

Implement a generic binary search algorithm for Integer Double String etc

Printing intermediate Integers between one element & next element of array

Find the smallest window in a string containing all characters of another string

C++ OOPs Part1

Find min element in Sorted Rotated Array (Without Duplicates)

SAP Off Campus Hiring_ March 2015 Analytical Aptitude

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

building with N steps, we can take 1,2,3 steps calculate number of ways to reach at top of building

Python Dictionaries

Linked List V/S Binary Search Tree

Edit Distance ( Dynamic Programming )

Binary Tree in Java

Maximum occurred Smallest integer in n ranges

DFS (Depth First Search)

Python List

Microsoft BING Interview Experience

Adobe Interview Questions 8 month Exp

Singly linked list

Naurki.com Security Breach

Find min element in Sorted Rotated Array (With Duplicates)

The greedy coins game Dynamic Programming

Flipkart SDET Interview Experience

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

Maximum of all subarrays of size k

Copyright © 2025 · Genesis Framework · WordPress · Log in