Simon
BAN USERimport java.util.List;
import java.util.ArrayList;
import java.util.Set;
import java.util.HashSet;
import java.lang.Math;
class MagicNumber{
public static void main(String[] args){
long n=9876542361L;
// long n=9786534210L;
// long n=9786533450L;
// long n=9786533222L;
// long n=9988776655L;
List<Integer> consecutives = new ArrayList<>();
Set<Integer> sixDigits = new HashSet<>();
int[] digitsCount = {0,0,0,0,0,0,0,0,0,0};
int d;
boolean isMagicFlag = false;
while(n>0){
d=(int)Math.abs(n%10);
// System.out.println(d);
// checking consecutiveness
if(0==consecutives.size())
consecutives.add(d);
else if(1==consecutives.size()){
if(1==d-consecutives.get(0) || -1==d-consecutives.get(0))
consecutives.add(d);
else{
consecutives.remove(0);
consecutives.add(d);
}
}
else{
if(d-consecutives.get(1) == consecutives.get(1)-consecutives.get(0)){
System.out.println("it is a magic number - consecutive");
isMagicFlag = true;
break;
}
else{
consecutives.remove(1);
consecutives.remove(0);
consecutives.add(d);
}
}
// checking first 6 digits present
if(6>=d)
sixDigits.add(d);
if(6==sixDigits.size()){
System.out.println("it is a magic number - first 6 digits present");
isMagicFlag = true;
break;
}
// checking 3 occurence of any digit
if(2==digitsCount[d]){
System.out.println("it is a magic number - occure 3 times");
isMagicFlag = true;
break;
}
else{
++digitsCount[d];
}
n/=10;
}
if(!isMagicFlag) System.out.println("this is not a magic number");
}
}
- Simon March 27, 2019class MatrixToSpiral{
public static void printMatrix(int[][] arr){
int r=0, c=0, co=0, cf=0, ftwo=0;
int n = arr.length;
int cn=n;
while(co<n*n){
if(0==cf && 2>ftwo){
if(n==cn){
for(int i=0;i<cn;++i){
System.out.println(" "+arr[r][c]);
++c;
++co;
}
--c;
ftwo=2;
}
else{
for(int i=0;i<cn;++i){
++c;
++co;
System.out.println(" "+arr[r][c]);
}
++ftwo;
}
cf=1;
}
if(1==cf && 2>ftwo){
for(int i=0;i<cn;++i){
++r;
++co;
System.out.println(" "+arr[r][c]);
}
cf=2;
++ftwo;
}
if(2==cf && 2>ftwo){
for(int i=0;i<cn;++i){
--c;
++co;
System.out.println(" "+arr[r][c]);
}
cf=3;
++ftwo;
}
if(3==cf && 2>ftwo){
for(int i=0;i<cn;++i){
--r;
++co;
System.out.println(" "+arr[r][c]);
}
cf=0;
++ftwo;
}
if(2==ftwo){
ftwo=0;
--cn;
}
}
}
public static void main(String[] args){
// int arr[][]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};
int arr[][]={{1,2,3,4},{6,7,8,9},{11,12,13,14},{16,17,18,19}};
// int arr[][]={{1,2,3},{4,5,6},{7,8,9}};
// int arr[][]={{1}};
// int arr[][]={{1,2},{3,4}};
printMatrix(arr);
}
}
import java.util.Set;
import java.util.HashSet;
class FindFirstDuplicateOccurence{
public static int findFirstDuplicate(int[] arr){
Set<Integer> visited = new HashSet<>();
for(int i=0;i<arr.length;++i){
if(visited.contains(arr[i]))
return i;
else
visited.add(arr[i]);
}
return -1;
}
public static void main(String[] args) {
// int[] arr = {7, 5, 3, 5, 7, 3, 7, 5};
int[] arr = {1, 2, 3};
int i = findFirstDuplicate(arr);
if(-1==i)
System.out.println("no duplicates");
else
System.out.println("first duplicate value = "+arr[i]);
}
}
- Simon March 24, 2019
}
- Simon March 27, 2019