Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Main {
- private static final int DEFAULT_STARTING_NUMBER = 0;
- private static final int DEFAULT_STARTING_POSITION = 0;
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- int maxNumsToPrint;
- int[] nums;
- try {
- System.out.println("Enter a number:");
- maxNumsToPrint = scanner.nextInt();
- nums = new int[(int) Math.sqrt(maxNumsToPrint * maxNumsToPrint)];
- } catch (InputMismatchException ime) {
- System.out.println("The thing you've entered isn't a number");
- return;
- }
- for(int i = 0; i <= nums.length - 1; i++){
- nums[i] = -1;
- }
- nums[DEFAULT_STARTING_POSITION] = DEFAULT_STARTING_NUMBER;
- System.out.println(nums[DEFAULT_STARTING_POSITION]);
- for(int i = 0; i < nums.length - 1; i++){
- if(!isUnique(nums, nums[i])){
- nums[i + 1] = i - secondLastIndexOf(nums, nums[i]);
- System.out.println(nums[i + 1]);
- }
- else {
- nums[i + 1] = 0;
- System.out.println(0);
- }
- }
- }
- private static boolean isUnique(int[] intArr, int n){
- boolean seenOnce = false;
- for(int i = 0; i <= intArr.length - 1; i++){
- if(intArr[i] == n){
- if(seenOnce){
- return false;
- }
- seenOnce = true;
- }
- }
- return true;
- }
- private static int secondLastIndexOf(int[] intArr, int numToSearch) {
- int counter = 0;
- boolean seenOnce = false;
- for (int i = intArr.length - 1; i >= 0; i--) {
- if (intArr[i] == numToSearch) {
- if(seenOnce){
- counter = i;
- break;
- }
- seenOnce = true;
- }
- }
- return counter;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement