Skip to main content

Java 8 coding challenge : Jarvis and Seven Segments



All over the world, peoples are working on energy solution. It would be a tough time for our next generation to survive if we don’t think about solution. Tony stark is working on a new project and wants to display his project using “seven segment display - concept”. Tony Stark gave Jarvis a task to find a number from his Favorite list of number for which the energy consumption is lowest.

(Assuming that for a digit to represent Tony stark is using 7 bulbs and only those bulbs light up which are required to represent a number and rest other would be completely off.)

Help Jarvis and conserve energy.

Seven segment display - https://en.wikipedia.org/wiki/Seven-segment_display

enter image description here

Input:
First line will contain the number of test cases and for every test case first line will contain length of favorite list and the second line for a test case will contain n numbers

Output:
For every test case print the answer. If there exist more than 1 numbers for which same number of bulbs are required than output the number which occurs first in the Favorite list.

Constraints:
Test cases< 10
A[i] < 10^6
Size of list < 10^5






SAMPLE INPUT





1
5
1 2 3 4 5





SAMPLE OUTPUT





1





Explanation


Number 1 needs only two bulbs to represent.



Code:


import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.HashMap;




public class Solution {


public static void main(String args[]) throws IOException{
InputReader in=new InputReader(System.in);
PrintWriter out=new PrintWriter(System.out);
int T=in.readInt();

while(T-->0){
long N=in.readLong();
long min=222222222;
long minnum=0;
while(N-->0){
long num=in.readCount();
long count=in.getcount();
if(count<min){
min=count;
minnum=num;
}
}
out.println(minnum);
out.flush();

}

out.close();

}
}

class InputReader{
InputStream in;
int[] segment={6,2,5,5,4,5,6,3,7,6};
long count=0;
InputReader(InputStream in){
this.in=in;
}

public long getcount(){
return count;
}
private int read() throws IOException{
return in.read();
}



public char readChar() throws IOException{
int n=read();
while(isWhiteSpace(n)){
n=read();
}
return (char)n;
}

public int readInt() throws IOException{
int number=0;
int n=read();
while(isWhiteSpace(n)){
n=read();
}
while(!isWhiteSpace(n)){
int integer=n-'0';
number*=10;
number+=integer;
n=read();
}
return number;
}

public long readCount() throws IOException{
long number=0;
count=0;
int n=read();
while(isWhiteSpace(n)){
n=read();
}
while(!isWhiteSpace(n)){
int integer=n-'0';
count+=segment[integer];
number*=10;
number+=integer;
n=read();
}
return number;
}


public long readLong() throws IOException{
long number=0;
int n=read();
while(isWhiteSpace(n)){
n=read();
}
while(!isWhiteSpace(n)){
int integer=n-'0';
number*=10;
number+=integer;
n=read();
}
return number;
}

private boolean isWhiteSpace(int n){
if(n=='\n'||n=='\r'||n=='\t'||n==' '||n==-1){
return true;
}else{
return false;
}

}
}

Comments

Popular posts from this blog

Saltstack and Vault integration

First install and configure vault using this tutorial: https://apassionatechie.wordpress.com/2017/03/05/hashicorp-vault/ Use the latest version of vault. Then install salt using the steps given here: https://docs.saltstack.com/en/latest/topics/installation/ If you face any issues then refer these links: https://apassionatechie.wordpress.com/2017/07/31/salt-issues/ https://apassionatechie.wordpress.com/2017/08/03/salt-stack-formulas/ Now let's integrate vault and salt so that we can access vault secrets from inside salt state. First let's add some key values into our vault. vault write secret/ssh/user1 password="abc123" Then you can check it by reading: vault read secret/ssh/user1 To allow salt to access your secrets you must firstly create a policy as follows: salt-policy.hcl [code] path "secret/*" { capabilities = ["read", "list"] } path "auth/*" { capabilities = ["read", "list","sudo",...

Salt stack issues

The function “state.apply” is running as PID Restart salt-minion with command:  service salt-minion restart No matching sls found for ‘init’ in env ‘base’ Add top.sls file in the directory where your main sls file is present. Create the file as follows: 1 2 3 base: 'web*' : - apache If the sls is present in a subdirectory elasticsearch/init.sls then write the top.sls as: 1 2 3 base: '*' : - elasticsearch.init How to execute saltstack-formulas create file  /srv/pillar/top.sls  with content: base : ' * ' : - salt create file  /srv/pillar/salt.sls  with content: salt : master : worker_threads : 2 fileserver_backend : - roots - git gitfs_remotes : - git://github.com/saltstack-formulas/epel-formula.git - git://github.com/saltstack-formulas/git-formula.git - git://github.com/saltstack-formulas/nano-formula.git - git://github.com/saltstack-f...

How to grep the output of cURL?

curl writes the output to stderr, so redirect that and also suppress the progress: curl - v -- silent https :// google . com / 2 >& 1 | grep expire The reason why  curl  writes the information to stderr is so you can do: curl <url> | someprgram  without that information clobbering the input of  someprogram It is possible to use  --stderr -  as parameter, to redirect the output from stderr (default) to stdout. With this option you also should use  --silent  to suppress the progress bar. $ curl - v -- silent https :// google . com / -- stderr - | grep expire * expire date : 2015 - 09 - 01 00 : 00 : 00 GMT