• 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

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

Sort Stack in place

Trie Dictionary

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

Printing Longest Common Subsequence

Search element in a matrix with all rows and columns in sorted order

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

Test Cases for Round Function

Leetcode: Merge Intervals

Trapping Rain Water

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

Naurki.com Security Breach

Count number of ways to reach a given score in a game

Find min element in Sorted Rotated Array (With Duplicates)

Get K Max and Delete K Max in stream of incoming integers

Given a float number convert it into the string WITHOUT using any inbuilt Function

Connect n ropes with minimum cost

Binary Tree in Java

Python Array String

Find if two rectangles overlap

Sequence Finder Dynamic Programming

LeetCode: Binary Tree Maximum Path Sum

Puzzle : 100 doors in a row Visit and Toggle the door. What state the door will be after nth pass ?

CodeChef’ RRCOPY

Add Sub Multiply very large number stored as string

Skiing on Mountains Matrix

Possible sizes of bus to carry n groups of friends

Advanced SQL Injection

In Given LinkedList Divide LL in N Sub parts and delete first K nodes of each part

Calculate price of parking from parking start end time prices

Copyright © 2025 · Genesis Framework · WordPress · Log in