diff --git a/Dart/factorial.dart b/Dart/factorial.dart new file mode 100644 index 0000000..9f33cd7 --- /dev/null +++ b/Dart/factorial.dart @@ -0,0 +1,14 @@ +int factorial(int num) { + if (num <= 1) { + return 1; + } else { + return num * factorial(num - 1); + } +} + +void main() { + int number = 5; + int factorial = factorial(number); + + print('The factorial of $number is $factorial'); +} diff --git a/Dart/whileloop.dart b/Dart/whileloop.dart new file mode 100644 index 0000000..e9984c1 --- /dev/null +++ b/Dart/whileloop.dart @@ -0,0 +1,3 @@ +while (!isDone()) { + doSomething(); +} diff --git a/Java/BinarySearch/BinarySearchVariation.java b/Java/BinarySearch/BinarySearchVariation.java new file mode 100644 index 0000000..b58a121 --- /dev/null +++ b/Java/BinarySearch/BinarySearchVariation.java @@ -0,0 +1,27 @@ +public class BinarySearchVariation { + public static int indexOfFirstOccurrence(int[] nums, int target) { + int low = 0; + int high = nums.length - 1; + + while (low <= high) { + int mid = (low + high) / 2; + + if (nums[mid] == target && (mid == 0 || nums[mid - 1] != target)) { + return mid; + } else if (nums[mid] < target) { + low = mid + 1; + } else { + high = mid - 1; + } + } + + return -1; + } + public static void main(String[] args){ + int[] nums = {1, 3, 5, 5, 5, 7, 9}; + int target = 5; + + int indexOfFirstOccurrence = indexOfFirstOccurrence(nums, target); + System.out.println("Index of first occurrence: " + indexOfFirstOccurrence);//2 + } +} diff --git a/Java/BinarySearch/BinarySearchVariationIndexOfLastOccurrence.java b/Java/BinarySearch/BinarySearchVariationIndexOfLastOccurrence.java new file mode 100644 index 0000000..6419340 --- /dev/null +++ b/Java/BinarySearch/BinarySearchVariationIndexOfLastOccurrence.java @@ -0,0 +1,25 @@ +public class BinarySearchVariationIndexOfLastOccurrence { + public static int indexOfLastOccurrence(int[] nums, int target) { + int low = 0; + int high = nums.length - 1; + + while (low <= high) { + int mid = (low + high) / 2; + + if (nums[mid] == target && (mid == nums.length - 1 || nums[mid + 1] != target)) { + return mid; + } else if (nums[mid] <= target) { + low = mid + 1; + } else { + high = mid - 1; + } + } + + return -1; + } + public static void main(String [] args){ + int[] nums = {1, 3, 5, 5, 5, 7, 9}; + int target = 5; + int indexOfLastOccurrence = indexOfLastOccurrence(nums, target); + System.out.println("Index of last occurrence: " + indexOfLastOccurrence);//4 + } diff --git a/stringexample.dart b/stringexample.dart new file mode 100644 index 0000000..fcf74a5 --- /dev/null +++ b/stringexample.dart @@ -0,0 +1,31 @@ +// Single-line string +String name = 'Alice'; + +// Multi-line string using double quotes +String greeting = "Hello, $name!"; + +// Multi-line string using triple quotes +String poem = """ +Roses are red, +Violets are blue, +Sugar is sweet, +And so are you. +"""; + +// String interpolation +print('Your name is $name and your greeting is $greeting.'); + +// String concatenation +print('${name} says, "${greeting}"'); + +// String methods +String upperName = name.toUpperCase(); +String lowerName = name.toLowerCase(); +String trimmedName = name.trim(); + +// String comparison +if (name == 'Alice') { + print('Hello, Alice!'); +} else { + print('Hello, stranger!'); +}