diff --git a/Find First and Last Position of Element in Sorted Array b/Find First and Last Position of Element in Sorted Array new file mode 100644 index 00000000..03511349 --- /dev/null +++ b/Find First and Last Position of Element in Sorted Array @@ -0,0 +1,41 @@ +class Solution { + public int[] searchRange(int[] nums, int target) { + int ans[] = new int[2]; + ans[0] = firstOcc(nums, target); + ans[1] = lastOcc(nums, target); + return ans; + } + int firstOcc(int arr[], int target){ + int index = -1; + int l = 0, r = arr.length - 1; + int mid; + while(l <= r){ + mid = (l + r)/2; + if(target == arr[mid]) + index = mid; + if(target <= arr[mid]) + r = mid - 1; + else + l = mid + 1; + + } + return index; + } + + int lastOcc(int arr[], int target){ + int index = -1; + int l = 0, r = arr.length - 1; + int mid; + while(l <= r){ + mid = (l + r)/2; + if(target == arr[mid]) + index = mid; + if(target >= arr[mid]) + l = mid + 1; + else + r = mid - 1; + + } + return index; + } +} diff --git a/Largest Rectangle in Histogram.java b/Largest Rectangle in Histogram.java new file mode 100644 index 00000000..90e08920 --- /dev/null +++ b/Largest Rectangle in Histogram.java @@ -0,0 +1,65 @@ +class Solution { + public int largestRectangleArea(int[] arr) { + int n= arr.length; + int l[] = new int[n]; +int r[] = new int[n]; + +// int n = sc.nextInt(); +for(int i=0; i st = new Stack(); +for(int i=0; i=0; i-- ) { + + +if(st.empty()){ + st.push(i); + +} +else{ +while(!st.empty() && arr[i] b) + return gcd(a-b, b); + return gcd(a, b-a); + } + + // Driver method + public static void main(String[] args) + { + int a = 98, b = 56; + System.out.println("GCD of " + a +" and " + b + " is " + gcd(a, b)); + } +} diff --git a/Maximum Profit of Operating a Centennial Wheel b/Maximum Profit of Operating a Centennial Wheel new file mode 100644 index 00000000..0ad40e7f --- /dev/null +++ b/Maximum Profit of Operating a Centennial Wheel @@ -0,0 +1,32 @@ +lass Solution { +public: + int minOperationsMaxProfit(vector& customers, int boardingCost, int runningCost) { + int c=0; + int rem=0; + int r=0; + int ans=0; + int p_max=-1; + for(int i=0;ip_max){ + p_max=p; + ans=r; + } + } + if(customers.size()==1) + return -1; + + return p_max<0?-1:ans; + } +}; diff --git a/Remove Linked List Elements.java b/Remove Linked List Elements.java new file mode 100644 index 00000000..946db400 --- /dev/null +++ b/Remove Linked List Elements.java @@ -0,0 +1,36 @@ +/** + * Definition for singly-linked list. + * public class ListNode { + * int val; + * ListNode next; + * ListNode() {} + * ListNode(int val) { this.val = val; } + * ListNode(int val, ListNode next) { this.val = val; this.next = next; } + * } + */ +class Solution { + public ListNode removeElements(ListNode head, int val) { + if(head== null) return head; + ListNode prev= null; + ListNode curr= head; + while(curr!= null){ + if(curr.val==val){ + if(curr==head){ + head= curr.next; + curr= head; + } + else{ + prev.next= curr.next; + curr= curr.next; + + } + } + else{ + prev= curr; + curr= curr.next; + + } + } + return head; + } +} diff --git a/fibonacci numbers.js b/fibonacci numbers.js new file mode 100644 index 00000000..77df17e0 --- /dev/null +++ b/fibonacci numbers.js @@ -0,0 +1,15 @@ +