Created
November 10, 2018 19:56
-
-
Save andreidbr/e6e54fafbf6f347ea34b0d98406f54b0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package PortfolioTests; | |
import java.util.Arrays; | |
public class CodeWars { | |
public static void main(String[] args) { | |
Integer[] ar = {100, 5, 3, 99, 34, 63, 2}; | |
int sum = 39; | |
// bubble(ar); | |
// findSum(ar, sum); | |
System.out.println(findSum(ar, sum)); | |
} | |
public static void fib() { | |
for(int i=0;i<=30;i++){ | |
System.out.print(fibbonaciIterative(i)+" "); | |
} | |
System.out.println(); | |
for(int i=0;i<=30;i++){ | |
System.out.print(fibbonaciRecursive(i)+" "); | |
} | |
} | |
static int fibbonaciIterative(int n) { | |
int a = 0, b = 1, c; | |
if (n == 0) | |
return a; | |
for (int i = 2; i <= n; i++) | |
{ | |
c = a + b; | |
a = b; | |
b = c; | |
} | |
return b; | |
} | |
static int fibbonaciRecursive(int n) { | |
// if (n <= 1) | |
// return n; | |
// return fibbonaciRecursive(n-1) + fibbonaciRecursive(n-2); | |
return (n <= 1 ? n : fibbonaciRecursive(n-1) + fibbonaciRecursive(n-2)); | |
} | |
static void isPrime(int num) { | |
if (num <= 1) { | |
System.out.println(num + " is not prime"); | |
} else { | |
boolean prime = true; | |
for (int i = 2; i*i <= num; i++) { | |
if (num % i == 0) { | |
prime = false; | |
} | |
} | |
if (prime) { | |
System.out.println(num + " is prime"); | |
} else { | |
System.out.println(num + " is not prime"); | |
} | |
} | |
} | |
static void isIntPalindrome(int num) { | |
int revNum = 0; | |
int workingNum = num; | |
while (num > 0) { | |
revNum = revNum * 10 + num % 10; | |
num = num / 10; | |
} | |
if (workingNum == revNum) { | |
System.out.println(workingNum + " is palindrome"); | |
} else { | |
System.out.println(workingNum + " is not palindrome"); | |
} | |
} | |
static void isStringPalindrome(String s) { | |
String tempS = s; | |
String newS = ""; | |
// StringBuffer sb = new StringBuffer(tempS); | |
// newS = sb.reverse().toString(); | |
//or if they're cheeky | |
for (int i = s.length() - 1; i >= 0; i--) { | |
newS = newS + tempS.charAt(i); | |
} | |
if (s.equalsIgnoreCase(newS)) { | |
System.out.println(s + " is palindrome"); | |
} else { | |
System.out.println(s + " is not palindrome"); | |
} | |
} | |
static long factorial(int num) { | |
//use long but be careful as with 20! you exceed long range | |
//fancy ternary operator | |
return (num <= 1) ? 1 : num * factorial(num - 1); | |
// if (num <= 1) { | |
// return 1; | |
// } else { | |
// return num * factorial(num -1); | |
// } | |
// for loop | |
// int fact = 1; | |
// for (int i = 1; i <= num; i++) { | |
// fact = fact * i; | |
// } | |
// System.out.println(fact); | |
} | |
static int[] bubble(int[] arr) { | |
int temp; | |
for (int i = 0; i < arr.length; i++) { | |
for (int j = 1; j < (arr.length - i); j++) { | |
if (arr[j - 1] > arr[j]) { | |
temp = arr[j - 1]; | |
arr[j - 1] = arr[j]; | |
arr[j] = temp; | |
} | |
System.out.println("Iteration " + i + " " + Arrays.toString(arr)); | |
} | |
} | |
return arr; | |
} | |
static String findSum(Integer[] arr, int sum) { | |
// brute force | |
for (int i = 0; i < arr.length; i++) { | |
for (int j = 1; j < arr.length; j++) { | |
if (arr[i]+arr[j] == sum) { | |
String found = "Found " + arr[i]+ " " + arr[j]; | |
System.out.println(found); | |
// return found; | |
} | |
} | |
} | |
for (int i = 0; i < arr.length; i++) { | |
int rezultat = sum - arr[i]; | |
if (Arrays.asList(arr).contains(rezultat)) { | |
String found = "Gasit de data asta: " + arr[i] + " " + rezultat; | |
return found; | |
} | |
} | |
return ""; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment