From 82f42f3ca421844a0142bb503ef4ec943d0cafa6 Mon Sep 17 00:00:00 2001 From: govindumeesala Date: Sat, 12 Oct 2024 00:58:41 +0800 Subject: [PATCH 01/17] added easy medium and hard problems to queues --- docs/Queue/Problem-Practice.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/docs/Queue/Problem-Practice.md b/docs/Queue/Problem-Practice.md index e82585988..dbdcc7acb 100644 --- a/docs/Queue/Problem-Practice.md +++ b/docs/Queue/Problem-Practice.md @@ -36,3 +36,28 @@ tags: [DSA, algorithms, Queue, dsa] - [Design Front Middle Back Queue](https://leetcode.com/problems/design-front-middle-back-queue/description/) - [First negative in every window of size k](https://www.geeksforgeeks.org/problems/first-negative-integer-in-every-window-of-size-k3345/1) - [Sliding Window Maximum](https://leetcode.com/problems/sliding-window-maximum/description/) + +### Easy + +- [Stack using two queues](https://www.geeksforgeeks.org/problems/stack-using-two-queues/1?page=1&category=Queue&sortBy=difficulty) +- [Queue using stack](https://www.geeksforgeeks.org/problems/queue-using-stack/1?page=1&category=Queue&sortBy=difficulty) +- [Reverse First K elements of Queue](https://www.geeksforgeeks.org/problems/reverse-first-k-elements-of-queue/1?page=1&category=Queue&sortBy=difficulty) +- [Generate Binary Numbers](https://www.geeksforgeeks.org/problems/generate-binary-numbers-1587115620/1?page=1&category=Queue&sortBy=difficulty) +- [Minimum Cost of ropes](https://www.geeksforgeeks.org/problems/minimum-cost-of-ropes-1587115620/1?page=1&category=Queue&sortBy=difficulty) + +### Medium + +- [IPL 2021 - Match Day 2](https://www.geeksforgeeks.org/problems/ipl-2021-match-day-2--141634/1?page=1&category=Queue&sortBy=difficulty) +- [First negative in every window of size k](https://www.geeksforgeeks.org/problems/first-negative-integer-in-every-window-of-size-k3345/1?page=1&category=Queue&sortBy=difficulty) +- [Print Binary Tree levels in sorted order + ](https://www.geeksforgeeks.org/problems/print-binary-tree-levels-in-sorted-order3241/1?page=2&category=Queue&sortBy=difficulty) +- [Restricted Pacman](https://www.geeksforgeeks.org/problems/restricted-pacman--141631/1?page=2&category=Queue&sortBy=difficulty) +- [Count the Reversals](https://www.geeksforgeeks.org/problems/count-the-reversals0401/1?page=2&category=Queue&sortBy=difficulty) + +### Hard + +- [LRU Cache](https://www.geeksforgeeks.org/problems/lru-cache/1?page=2&category=Queue&sortBy=difficulty) +- [Steps by Knight](https://www.geeksforgeeks.org/problems/steps-by-knight5927/1?page=2&category=Queue&sortBy=difficulty) +- [Complete Binary Tree](https://www.geeksforgeeks.org/problems/complete-binary-tree/1?page=2&category=Queue&sortBy=difficulty) +- [Card Rotation](https://www.geeksforgeeks.org/problems/card-rotation5834/1?page=2&category=Queue&sortBy=difficulty) +- [Police and Thieves](https://www.geeksforgeeks.org/problems/police-and-thieves--141631/1?page=2&category=Queue&sortBy=difficulty) From c6746069c7aa44f88bdf5413bf17bf7dc0eca9dd Mon Sep 17 00:00:00 2001 From: Ananya Gupta <145869907+ananyag309@users.noreply.github.com> Date: Sat, 12 Oct 2024 00:29:27 +0530 Subject: [PATCH 02/17] Add files via upload --- docs/greedy-algorithms/Fractional_Knapsack.md | 105 ++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 docs/greedy-algorithms/Fractional_Knapsack.md diff --git a/docs/greedy-algorithms/Fractional_Knapsack.md b/docs/greedy-algorithms/Fractional_Knapsack.md new file mode 100644 index 000000000..bbff5731b --- /dev/null +++ b/docs/greedy-algorithms/Fractional_Knapsack.md @@ -0,0 +1,105 @@ + +--- +id: fractional-knapsack +title: Fractional Knapsack Problem +sidebar_label: Fractional Knapsack +description: "In this post, we'll explore the Fractional Knapsack Problem, a greedy algorithm used to maximize the value of items that can be fit into a knapsack with a weight limit." +tags: [dsa, algorithms, greedy algorithms, optimization problems] +--- + +### Definition: +The Fractional Knapsack Problem is an optimization problem that aims to maximize the total value of items placed in a knapsack of fixed capacity, where the items can be divided into smaller fractions. Unlike the 0/1 Knapsack Problem, where items must either be fully taken or left, in the fractional version, parts of an item can be taken to fill the knapsack optimally. + +### Characteristics: +- **Greedy Approach**: + The fractional knapsack problem is solved using a greedy algorithm. Items are selected based on their value-to-weight ratio, prioritizing items with the highest ratio until the knapsack is full. + +- **Divisibility**: + In this problem, items can be broken into smaller pieces, meaning you can take fractions of an item if it helps in maximizing the total value. + +### Steps Involved: +1. **Sort by Value-to-Weight Ratio**: + First, sort the items in decreasing order of their value-to-weight ratio. + +2. **Greedily Add Items**: + Starting from the item with the highest ratio, add as much of it as possible to the knapsack. + +3. **Fractional Item Addition**: + If an item can't fit entirely, add the fraction of it that fits, and stop when the knapsack is full. + +### Problem Statement: +Given `n` items, each with a weight and value, determine the maximum value that can be obtained by filling a knapsack with a capacity of `W` using the fractional approach. + +### Time Complexity: +- **Best, Average, and Worst Case: $O(n \log n)$** + The time complexity is dominated by the sorting step, where `n` is the number of items. + +### Space Complexity: +- **Space Complexity: $O(n)$** + The space complexity arises from storing the weights, values, and fractions of the items. + +### Example: +Consider the following items: +- Items: `{(value, weight)} = {(60, 10), (100, 20), (120, 30)}` +- Knapsack capacity: `W = 50` + +Step-by-Step Execution: + +1. **Sort by value-to-weight ratio**: + - Item 1: `60/10 = 6` + - Item 2: `100/20 = 5` + - Item 3: `120/30 = 4` + Sorted order: Item 1, Item 2, Item 3. + +2. **Add items to knapsack**: + - Add all of Item 1 (weight 10, value 60). + - Add all of Item 2 (weight 20, value 100). + - Add 2/3 of Item 3 (weight 20, value 80). + +Total value = 60 + 100 + 80 = 240. + +### C++ Implementation: +```cpp +#include +#include +#include +using namespace std; + +struct Item { + int value, weight; + Item(int v, int w) : value(v), weight(w) {} +}; + +// Comparator function to sort by value-to-weight ratio +bool compare(Item a, Item b) { + double r1 = (double)a.value / a.weight; + double r2 = (double)b.value / b.weight; + return r1 > r2; +} + +double fractionalKnapsack(int W, vector& items) { + sort(items.begin(), items.end(), compare); + double totalValue = 0.0; + + for (Item& item : items) { + if (W >= item.weight) { + totalValue += item.value; + W -= item.weight; + } else { + totalValue += item.value * ((double) W / item.weight); + break; + } + } + return totalValue; +} + +int main() { + int W = 50; + vector items = {{60, 10}, {100, 20}, {120, 30}}; + cout << "Maximum value in Knapsack = " << fractionalKnapsack(W, items); + return 0; +} +``` + +### Summary: +The Fractional Knapsack Problem is an efficient optimization problem that can be solved using a greedy approach. By selecting items with the highest value-to-weight ratio, the total value in the knapsack can be maximized. This algorithm is useful in resource allocation and financial investments where fractional quantities are allowed. From 1753ef568c0d14591196539c6f286d31cc2eb26e Mon Sep 17 00:00:00 2001 From: Samarth Vaidya Date: Sat, 12 Oct 2024 03:04:39 +0530 Subject: [PATCH 03/17] Add detailed combinatorics practice problems section - Created a comprehensive list of combinatorics practice problems with detailed descriptions, examples, and hints. - Categorized problems into Easy, Medium, and Hard levels for better accessibility. - Provided links to each problem for direct access to the respective LeetCode pages. --- docs/combinatorics/Practice-problems.md | 160 ++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 docs/combinatorics/Practice-problems.md diff --git a/docs/combinatorics/Practice-problems.md b/docs/combinatorics/Practice-problems.md new file mode 100644 index 000000000..857073a1e --- /dev/null +++ b/docs/combinatorics/Practice-problems.md @@ -0,0 +1,160 @@ +--- +id: Practice-Problems-on-Combinatorics +title: Practice Problems in Combinatorics +sidebar_label: Combinatorics Practice Problems +sidebar_position: 4 +description: A comprehensive list of practice problems focused on combinatorics, covering various topics and concepts. +tags: [DSA, algorithms, combinatorics, practice problems] +--- + +## Practice Problems on Combinatorics + +This section provides a list of practice problems focused on combinatorics, covering various concepts and applications. Each problem includes a clear description, example inputs and outputs, and hints or solutions where applicable. + +### Easy Problems: + +1. **Sum of All Subset XOR Totals** + **Description:** Given an array of integers, calculate the sum of the XOR totals of all possible subsets. The XOR of a subset is calculated by taking the XOR of all its elements. For instance, for the array `[1, 2]`, the subsets are `[]`, `[1]`, `[2]`, and `[1, 2]`, with their XOR totals being `0`, `1`, `2`, and `3`, respectively. Your task is to find the total sum of these XOR values. + + - **Example:** + Input: `[1, 2, 3]` + Output: `6` (Subsets: `[] -> 0`, `[1] -> 1`, `[2] -> 2`, `[3] -> 3`, `[1,2] -> 3`, `[1,3] -> 2`, `[2,3] -> 1`, `[1,2,3] -> 0`) + + - **Hint:** Use recursion or bit manipulation to generate all subsets. + + **Link:** [Sum of All Subset XOR Totals - LeetCode](https://leetcode.com/problems/sum-of-all-subset-xor-totals?envType=problem-list-v2&envId=combinatorics&difficulty=EASY) + +2. **Distribute Candies Among Children I** + **Description:** You have a certain number of candies to distribute among `k` children in such a way that each child receives at least one candy. The challenge is to maximize the number of children that receive candies while ensuring that no child receives more than one candy. Given `n` candies and `k` children, determine how many children can receive candies. + + - **Example:** + Input: `n = 7, k = 4` + Output: `4` (Each child can get at least one candy) + + - **Hint:** Use the formula for distribution and check constraints. + + **Link:** [Distribute Candies Among Children I - LeetCode](https://leetcode.com/problems/distribute-candies-among-children-i?envType=problem-list-v2&envId=combinatorics&difficulty=EASY) + +--- + +### Medium Problems: + +1. **Unique Paths** + **Description:** Given an `m x n` grid, count the number of unique paths from the top-left corner to the bottom-right corner, moving only down or to the right. The challenge is to implement an algorithm that computes this efficiently. + + - **Example:** + Input: `m = 3, n = 7` + Output: `28` (There are 28 unique paths in a 3x7 grid) + + - **Hint:** Use dynamic programming to store intermediate results. + + **Link:** [Unique Paths - LeetCode](https://leetcode.com/problems/unique-paths?envType=problem-list-v2&envId=combinatorics&difficulty=MEDIUM) + +2. **Ugly Number III** + **Description:** An ugly number is a positive number whose prime factors only include `2`, `3`, and `5`. Given an integer `n`, your task is to find the `n-th` ugly number. + + - **Example:** + Input: `n = 10` + Output: `12` (The first 10 ugly numbers are `1, 2, 3, 4, 5, 6, 8, 9, 10, 12`) + + - **Hint:** Consider a min-heap or dynamic programming to generate ugly numbers efficiently. + + **Link:** [Ugly Number III - LeetCode](https://leetcode.com/problems/ugly-number-iii?envType=problem-list-v2&envId=combinatorics&difficulty=MEDIUM) + +3. **Number of Sets of K Non-Overlapping Line Segments** + **Description:** Given an array of segments defined by their endpoints, count the number of ways to select `k` non-overlapping segments. + + - **Example:** + Input: `segments = [[1, 2], [2, 3], [3, 4]], k = 2` + Output: `1` (Only one way to select two non-overlapping segments) + + - **Hint:** Use combinatorial counting and dynamic programming. + + **Link:** [Number of Sets of K Non-Overlapping Line Segments - LeetCode](https://leetcode.com/problems/number-of-sets-of-k-non-overlapping-line-segments?envType=problem-list-v2&envId=combinatorics&difficulty=MEDIUM) + +4. **Vowels of All Substrings** + **Description:** Count the number of vowels in all substrings of a given string. Each vowel contributes to each substring it appears in. + + - **Example:** + Input: `s = "abc"` + Output: `3` (Vowels: `a` contributes to 1 substring, `b` and `c` contribute to 0) + + - **Hint:** Use a two-pointer technique to count contributions of each vowel. + + **Link:** [Vowels of All Substrings - LeetCode](https://leetcode.com/problems/vowels-of-all-substrings?envType=problem-list-v2&envId=combinatorics&difficulty=MEDIUM) + +5. **The Number of Beautiful Subsets** + **Description:** Determine the number of beautiful subsets of a given array based on specific conditions that define a beautiful subset. + + - **Example:** + Input: `nums = [1, 2, 3], condition = even sum` + Output: `4` (The beautiful subsets could be `[]`, `[2]`, `[1, 3]`, and `[1, 2, 3]`) + + - **Hint:** Apply a combinatorial approach to generate subsets and filter based on the condition. + + **Link:** [The Number of Beautiful Subsets - LeetCode](https://leetcode.com/problems/the-number-of-beautiful-subsets?envType=problem-list-v2&envId=combinatorics&difficulty=MEDIUM) + +--- + +### Hard Problems: + +1. **Poor Pigs** + **Description:** You have a certain number of pigs and buckets. Each bucket may contain either water or poison, and you need to find out which buckets are poisoned using the least number of pigs within a given time limit. + + - **Example:** + Input: `pigs = 1, buckets = 1000, minutes = 15, minutesToDie = 15` + Output: `1` (One pig is enough to find the poisoned bucket) + + - **Hint:** Use a binary approach to represent the pigs' tests. + + **Link:** [Poor Pigs - LeetCode](https://leetcode.com/problems/poor-pigs?envType=problem-list-v2&envId=combinatorics&difficulty=HARD) + +2. **Kth Smallest Instructions** + **Description:** Given a number of `k`, your task is to find the `k-th` smallest instruction in a certain set of instructions. + + - **Example:** + Input: `n = 3, k = 5` + Output: `5` (Find the 5th smallest instruction) + + - **Hint:** Use combinatorial techniques to generate the set of instructions. + + **Link:** [Kth Smallest Instructions - LeetCode](https://leetcode.com/problems/kth-smallest-instructions?envType=problem-list-v2&envId=combinatorics&difficulty=HARD) + +3. **Number of Music Playlists** + **Description:** Calculate the number of playlists of a given length that can be created under specific conditions, such as the maximum number of unique songs allowed in the playlist. + + - **Example:** + Input: `n = 3, l = 3, k = 1` + Output: `6` (Six different playlists can be created) + + - **Hint:** Use dynamic programming to keep track of playlists. + + **Link:** [Number of Music Playlists - LeetCode](https://leetcode.com/problems/number-of-music-playlists?envType=problem-list-v2&envId=combinatorics&difficulty=HARD) + +4. **Number of Ways to Reorder Array to Get Same BST** + **Description:** Given an array, find the number of ways to reorder it to obtain the same binary search tree (BST). + + - **Example:** + Input: `arr = [2, 1, 3]` + Output: `1` (Only one way to order the array for the same BST structure) + + - **Hint:** Use combinatorial counting based on the properties of BST. + + **Link:** [Number of Ways to Reorder Array to Get Same BST - LeetCode](https://leetcode.com/problems/number-of-ways-to-reorder-array-to-get-same-bst?envType=problem-list-v2&envId=combinatorics&difficulty=HARD) + +5. **Count the Number of Ideal Arrays** + **Description:** Count the number of ideal arrays based on certain properties defined in the problem. + + - **Example:** + Input: `n = 5, maxValue = 2` + Output: `7` (Count ideal arrays of length 5 with values not exceeding 2) + + - **Hint:** Use combinatorial counting and generating functions. + + **Link:** [Count the Number of Ideal Arrays - LeetCode](https://leetcode.com/problems/count-the-number-of-ideal-arrays?envType=problem-list-v2&envId=combinatorics&difficulty=HARD) + +--- + +## Conclusion + +These problems are designed to strengthen your understanding of combinatorial mathematics. Make sure to attempt each problem and utilize the hints provided to assist your learning. Solutions may be found online for additional support. From dec9760d3f3d3d7b4d45619f6f86a0bdfa9628d0 Mon Sep 17 00:00:00 2001 From: Mansi Sharma Date: Sat, 12 Oct 2024 09:14:40 +0530 Subject: [PATCH 04/17] Added folder for sortings --- docs/sortings/Sortings.md | 296 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 296 insertions(+) create mode 100644 docs/sortings/Sortings.md diff --git a/docs/sortings/Sortings.md b/docs/sortings/Sortings.md new file mode 100644 index 000000000..99ac16aad --- /dev/null +++ b/docs/sortings/Sortings.md @@ -0,0 +1,296 @@ +--- +id: sortings +title: Sortings Data Structure (C Language) +sidebar_label: Introduction to Sortings +description: 'Sorting algorithms are fundamental in computer science, used to arrange data in a particular order, typically ascending or descending. Various sorting techniques are designed to optimize performance based on factors like time complexity, space complexity.' +tags: [dsa, Sortings, Bubble sort, Insertion sort, Selection sort, Merge sort, Quick sort , C language] +--- + +### Introduction to Sortings + +Sorting algorithms play a crucial role in organizing data for efficient access and manipulation. Different algorithms are optimized for various use cases based on their time complexity, space complexity, and stability. + +In this page we will learn about **Bubble Sort** , **Selection Sort** , **Insertion Sort** , **Merge Sort** and **Quick Sort**. + +### Libraries for implementation + +**STDIO.H** +The stdio.h header file stands for "Standard Input Output" and is part of the C standard library. It provides functions for performing input and output operations such as reading and writing data to the console, files, and other input/output streams. + +**STRING.H** +the string.h header file in C provides functions for manipulating arrays of characters (C-strings) and performing various operations on strings such as copying, concatenating, comparing, and searching. + +### Bubble Sort + +Bubble sort is a simple, comparison-based sorting algorithm. It works by repeatedly stepping through the list, comparing adjacent elements, and swapping them if they are in the wrong order. This process is repeated until no more swaps are needed, indicating that the list is sorted. + +**Alogrithm** + + - Start at the beginning of the array. + - Compare each pair of adjacent elements and then swap them if they are in the wrong order. + - Repeat the process for the entire list until no swaps are made during a pass. + + ```text + void bubble_sort(int a[],int n) + { + int i,j,temp; + for(i=1;ia[j+1]) + { + temp=a[j]; + a[j]=a[j+1]; + a[j+1]=temp; + } + display(a,n); + } + ``` +**Time Complexity** + + **Worst Case**: O(n²) – when the array is sorted in reverse order. + + **Best Case**: O(n) – when the array is already sorted. + + **Space Complexity**: O(1) – sorts the list in place without extra space. + +**Stability** + + Stable – equal elements remain in the same relative order after sorting. + +**Usage** + + Not used in practical applications due to its inefficiency, but useful for educational purposes. + +### Selection Sort + +Selection sort divides the array into a sorted and an unsorted region. It works by repeatedly selecting the smallest (or largest) element from the unsorted region and swapping it with the first unsorted element. This process continues until the entire array is sorted. + +**Alogrithm** + + - Start at the beginning of the array. + - Find the minimum element from the unsorted portion of the array. + - Swap it with the first element in the unsorted portion and move forward. + - Repeat until the array is fully sorted. + + ```text + void selection_sort(int a[],int n) + { + int i,j,k,temp,temper; + for(i=0;ia[j]) + { + k=j; + temp=a[j]; + } + if(k!=0){ + temper=a[i]; + a[i]=a[k]; + a[k]=temper; + } + } + display(a,n); + } + ``` +**Time Complexity** + + **Worst Case**: O(n²) – as it performs n comparisons for each element. + + **Best Case**: O(n) – when the array is already sorted. + +**Space Complexity** + + O(1) – in-place sorting. + +**Stability** + + Unstable – equal elements may be swapped, changing their relative order. + +**Usage** + + Useful when memory space is limited due to its in-place nature. Not efficient for large datasets. + + +### Insertion Sort + +Insertion sort works similarly to how people arrange playing cards in their hands. It builds the sorted list one element at a time by inserting each new element into its proper position relative to the elements already sorted. + +**Alogrithm** + + - Start at the beginning of the array. + - Assume the first element is sorted and pick the next element. + - Compare it to the elements in the sorted portion and shift elements larger than it to the right and insert the element in its correct position. + - Repeat until the array is fully sorted. + + ```text + void insertion_sort(int a[],int n) + { + int i,j,temp; + for(i=1;i=0&&a[j]>temp;j--) + { + a[j+1]=a[j]; + a[j]=temp; + } + } + display(a,n); + } + ``` +**Time Complexity** + + **Worst Case**: O(n²) – when the array is sorted in reverse order. + + **Best Case**: O(n) – when the array is already sorted. + +**Space Complexity** + + O(1) – in-place sorting. + +**Stability** + + Stable – maintains the relative order of equal elements. + +**Usage** + + Useful when memory space is limited due to its in-place nature. + + Efficient for small datasets or nearly sorted data. + + Commonly used in hybrid algorithms like Timsort. + +### Merge Sort + +Merge sort is a divide-and-conquer algorithm. It splits the array into two halves, recursively sorts each half, and then merges the sorted halves to produce the sorted array. + +**Alogrithm** + + - Start at the beginning of the array. + - Divide the array into two halves. + - Recursively sort each half and merge the sorted halves into a single sorted array. + - Repeat until the array is fully sorted. + + ```text + + //fUNCTION FOR MERGING + + void merge(int a[],int l,int mid,int u) + { + int i=l; + int j=mid+1; + int x=0; + int c[10]; + while(i<=mid&&j<=u) + { + if(a[i]<=a[j]) + { + c[x]=a[i]; + i++; + x++; + } + else + { + c[x]=a[j]; + j++; + x++; + } + } + while(i<=mid) + { + c[x]=a[i]; + i++;x++; + } + while(j<=u) + { + c[x]=a[j]; + j++;x++; + } + for(i=0,j=l;ipi); + if(i Date: Sat, 12 Oct 2024 09:35:36 +0530 Subject: [PATCH 05/17] Update Sortings.md --- docs/sortings/Sortings.md | 111 ++++++++++++++++++++++++++------------ 1 file changed, 77 insertions(+), 34 deletions(-) diff --git a/docs/sortings/Sortings.md b/docs/sortings/Sortings.md index 99ac16aad..fc4ebb6d3 100644 --- a/docs/sortings/Sortings.md +++ b/docs/sortings/Sortings.md @@ -12,14 +12,6 @@ Sorting algorithms play a crucial role in organizing data for efficient access a In this page we will learn about **Bubble Sort** , **Selection Sort** , **Insertion Sort** , **Merge Sort** and **Quick Sort**. -### Libraries for implementation - -**STDIO.H** -The stdio.h header file stands for "Standard Input Output" and is part of the C standard library. It provides functions for performing input and output operations such as reading and writing data to the console, files, and other input/output streams. - -**STRING.H** -the string.h header file in C provides functions for manipulating arrays of characters (C-strings) and performing various operations on strings such as copying, concatenating, comparing, and searching. - ### Bubble Sort Bubble sort is a simple, comparison-based sorting algorithm. It works by repeatedly stepping through the list, comparing adjacent elements, and swapping them if they are in the wrong order. This process is repeated until no more swaps are needed, indicating that the list is sorted. @@ -46,15 +38,17 @@ Bubble sort is a simple, comparison-based sorting algorithm. It works by repeate } ``` **Time Complexity** - + **Worst Case**: O(n²) – when the array is sorted in reverse order. - + **Best Case**: O(n) – when the array is already sorted. - + **Space Complexity**: O(1) – sorts the list in place without extra space. + - **Worst Case**: O(n²) – when the array is sorted in reverse order. + - **Best Case**: O(n) – when the array is already sorted. + +**Space Complexity** + - O(1) – sorts the list in place without extra space. **Stability** - + Stable – equal elements remain in the same relative order after sorting. + - Stable – equal elements remain in the same relative order after sorting. **Usage** - + Not used in practical applications due to its inefficiency, but useful for educational purposes. + - Not used in practical applications due to its inefficiency, but useful for educational purposes. ### Selection Sort @@ -91,17 +85,17 @@ Selection sort divides the array into a sorted and an unsorted region. It works } ``` **Time Complexity** - + **Worst Case**: O(n²) – as it performs n comparisons for each element. - + **Best Case**: O(n) – when the array is already sorted. + - **Worst Case**: O(n²) – as it performs n comparisons for each element. + - **Best Case**: O(n) – when the array is already sorted. **Space Complexity** - + O(1) – in-place sorting. + - O(1) – in-place sorting. **Stability** - + Unstable – equal elements may be swapped, changing their relative order. + - Unstable – equal elements may be swapped, changing their relative order. **Usage** - + Useful when memory space is limited due to its in-place nature. Not efficient for large datasets. + - Useful when memory space is limited due to its in-place nature. Not efficient for large datasets. ### Insertion Sort @@ -132,19 +126,19 @@ Insertion sort works similarly to how people arrange playing cards in their hand } ``` **Time Complexity** - + **Worst Case**: O(n²) – when the array is sorted in reverse order. - + **Best Case**: O(n) – when the array is already sorted. + - **Worst Case**: O(n²) – when the array is sorted in reverse order. + - **Best Case**: O(n) – when the array is already sorted. **Space Complexity** - + O(1) – in-place sorting. + - O(1) – in-place sorting. **Stability** - + Stable – maintains the relative order of equal elements. + - Stable – maintains the relative order of equal elements. **Usage** - + Useful when memory space is limited due to its in-place nature. - + Efficient for small datasets or nearly sorted data. - + Commonly used in hybrid algorithms like Timsort. + - Useful when memory space is limited due to its in-place nature. + - Efficient for small datasets or nearly sorted data. + - Commonly used in hybrid algorithms like Timsort. ### Merge Sort @@ -212,16 +206,16 @@ Merge sort is a divide-and-conquer algorithm. It splits the array into two halve } ``` **Time Complexity** - + O(n log n) – consistently for all cases (worst, average, and best). + - O(n log n) – consistently for all cases (worst, average, and best). **Space Complexity** - + O(n) – requires additional space for temporary arrays during the merge process. + - O(n) – requires additional space for temporary arrays during the merge process. **Stability** - + Stable – equal elements maintain their relative order. + - Stable – equal elements maintain their relative order. **Usage** - + Suitable for large datasets and linked lists. + - Suitable for large datasets and linked lists. ### Quick Sort @@ -278,19 +272,68 @@ Quick sort is a divide-and-conquer algorithm. It selects a **pivot (IN THIS IT I } ``` **Time Complexity** - + **Worst Case**:O(n²) – occurs when the pivot is poorly chosen, such as when the array is already sorted. + - **Worst Case**:O(n²) – occurs when the pivot is poorly chosen, such as when the array is already sorted. **Space Complexity** - + O(log n) – due to recursive calls, but in-place sorting. + - O(log n) – due to recursive calls, but in-place sorting. **Stability** - + Unstable – the relative order of equal elements may change. + - Unstable – the relative order of equal elements may change. **Usage** - + Variants like randomized quicksort and 3-way quicksort improve performance in the worst case. + - Variants like randomized quicksort and 3-way quicksort improve performance in the worst case. + +### Main Function +```text +// Display function +void display(int a[],int n) +{ + int i; + printf("\nArray is:"); + for(i=0;i Date: Sat, 12 Oct 2024 21:00:32 +0530 Subject: [PATCH 06/17] UI change 592 --- src/css/custom.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/css/custom.css b/src/css/custom.css index 151b6586a..5b3af215e 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -31,7 +31,7 @@ [data-theme='dark'] { - --ifm-color-primary: #b2c225; + --ifm-color-primary: #0d526d; --ifm-color-primary-dark: #21af90; --ifm-color-primary-darker: #1fa588; --ifm-color-primary-darkest: #1a8870; From a7a4ef77e0cb2d8a2eac6e895c370024b4163785 Mon Sep 17 00:00:00 2001 From: Abhi-hertz <93651229+AE-Hertz@users.noreply.github.com> Date: Sat, 12 Oct 2024 21:03:45 +0530 Subject: [PATCH 07/17] UI change 592 --- src/css/custom.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/css/custom.css b/src/css/custom.css index 5b3af215e..50fb57f63 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -31,7 +31,7 @@ [data-theme='dark'] { - --ifm-color-primary: #0d526d; + --ifm-color-primary: #196556; --ifm-color-primary-dark: #21af90; --ifm-color-primary-darker: #1fa588; --ifm-color-primary-darkest: #1a8870; From a03731528c06e70c798c92a169b7ae1f1ad7d335 Mon Sep 17 00:00:00 2001 From: ajay-dhangar <99037494+Ajay-Dhangar@users.noreply.github.com> Date: Sun, 13 Oct 2024 03:13:03 +0000 Subject: [PATCH 08/17] Updated contributors list --- README.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index aca41d84d..cf1da56ed 100644 --- a/README.md +++ b/README.md @@ -199,6 +199,15 @@ We are grateful to all the contributors who have helped improve this project. Yo Kajal Ahirwar + + + govindumeesala +
+ Meesala Govindu +
+ + + kRajoria121 @@ -206,8 +215,6 @@ We are grateful to all the contributors who have helped improve this project. Yo Kundan Rajoria - - nishant4500 @@ -236,13 +243,6 @@ We are grateful to all the contributors who have helped improve this project. Yo Priya - - - govindumeesala -
- Meesala Govindu -
- 4F24L @@ -259,6 +259,13 @@ We are grateful to all the contributors who have helped improve this project. Yo Yash Kumar Saini + + + 17arindam +
+ Arindam +
+ IRFANSARI @@ -287,21 +294,14 @@ We are grateful to all the contributors who have helped improve this project. Yo Narendra Dhangar + + jvkousthub
Kousthub J V
- - - - - - 17arindam -
- Arindam -
From bb7d3d83bec5b2ab681a2db5961b0bcd57030914 Mon Sep 17 00:00:00 2001 From: Ajay Dhangar <99037494+ajay-dhangar@users.noreply.github.com> Date: Sun, 13 Oct 2024 09:08:45 +0530 Subject: [PATCH 09/17] Update greeting.yml --- .github/workflows/greeting.yml | 66 +++++++++++++++++++++++----------- 1 file changed, 46 insertions(+), 20 deletions(-) diff --git a/.github/workflows/greeting.yml b/.github/workflows/greeting.yml index 44207f0df..e03cc6666 100644 --- a/.github/workflows/greeting.yml +++ b/.github/workflows/greeting.yml @@ -1,36 +1,62 @@ -name: Auto Greeting for Issues and PRs +name: 'Auto Greeting for Issues and PRs' + on: issues: types: [opened] - pull_request: + pull_request_target: types: [opened] + permissions: issues: write pull-requests: write + jobs: greeting: runs-on: ubuntu-latest + steps: - - name: Post Greeting Message - uses: actions/github-script@v6 - with: - script: | - const isIssue = !!context.payload.issue; - const isPR = !!context.payload.pull_request; + - name: Check out repository + uses: actions/checkout@v4 - const greetingMessage = ` - 👋 Hello @${isIssue ? context.payload.issue.user.login : context.payload.pull_request.user.login}, welcome! + - name: Greet first-time contributors + id: greet + uses: actions/first-interaction@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + issue-message: | + 👋 Hi @${{ github.actor }}! Thank you for opening your first issue on the Algo project. We're excited to help you out and appreciate your contribution. Please provide as much detail as possible to assist us in addressing the issue effectively. + Welcome aboard! 😊 + pr-message: | + 👋 Hi @${{ github.actor }}! Thank you for submitting your first pull request to the Algo project. Great job on the contribution! 🎉 We appreciate your efforts, and our team will review it soon. If you have any questions, feel free to ask. Keep up the great work! 🚀 - Thank you for opening this ${isIssue ? "issue" : "pull request"}. We appreciate your effort in helping to improve our Algo project. Our team will review it shortly. In the meantime, if you can provide any additional information or context, feel free to update this ${isIssue ? "issue" : "PR"}. + - name: Assign issue or pull request to a team member + if: github.event_name == 'issues' || github.event_name == 'pull_request_target' + run: | + ISSUE_NUMBER=${{ github.event.issue.number || github.event.pull_request.number }} + curl -X POST -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + -d '{"assignees":["team-member-username"]}' \ + "https://api.github.com/repos/${{ github.repository }}/issues/${ISSUE_NUMBER}" - Please refer to our [CONTRIBUTING.md](https://github.com/ajay-dhangar/algo/blob/main/CONTRIBUTING.md) for guidelines on contributing to this project. + - name: Welcome message for community contributors + if: github.event_name == 'issues' || github.event_name == 'pull_request_target' + uses: EddieHubCommunity/gh-action-community/src/welcome@main + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + issue-message: "👋 Hi @${{ github.actor }}! Thanks for opening this issue. We appreciate your contribution to the Algo project. Our team will review it soon." + pr-message: "🎉 Great job, @${{ github.actor }}! Thank you for submitting your pull request. We appreciate your contribution, and our team will review it shortly." - Thank you for your contribution! 🚀😊 - `; + - name: Label first-time issues + if: github.event_name == 'issues' + run: | + ISSUE_NUMBER=${{ github.event.issue.number }} + curl -X POST -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + -d '{"labels":["First-time Issue"]}' \ + "https://api.github.com/repos/${{ github.repository }}/issues/${ISSUE_NUMBER}" - await github.rest.issues.createComment({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: isIssue ? context.issue.number : context.payload.pull_request.number, - body: greetingMessage - }); + - name: Label first-time pull requests + if: github.event_name == 'pull_request_target' + run: | + PR_NUMBER=${{ github.event.pull_request.number }} + curl -X POST -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + -d '{"labels":["First-time PR"]}' \ + "https://api.github.com/repos/${{ github.repository }}/issues/${PR_NUMBER}" From e4e8a31265493c05a2b8857fad06f14fdf124079 Mon Sep 17 00:00:00 2001 From: Ajay-Dhangar Date: Sun, 13 Oct 2024 09:49:26 +0530 Subject: [PATCH 10/17] update code --- .github/workflows/greeting.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/greeting.yml b/.github/workflows/greeting.yml index e03cc6666..387f2fa24 100644 --- a/.github/workflows/greeting.yml +++ b/.github/workflows/greeting.yml @@ -1,4 +1,4 @@ -name: 'Auto Greeting for Issues and PRs' +name: "Auto Greeting for Issues and PRs" on: issues: @@ -50,7 +50,7 @@ jobs: run: | ISSUE_NUMBER=${{ github.event.issue.number }} curl -X POST -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ - -d '{"labels":["First-time Issue"]}' \ + -d '{"labels":["Algo Contributor's Issue"]}' \ "https://api.github.com/repos/${{ github.repository }}/issues/${ISSUE_NUMBER}" - name: Label first-time pull requests @@ -58,5 +58,5 @@ jobs: run: | PR_NUMBER=${{ github.event.pull_request.number }} curl -X POST -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ - -d '{"labels":["First-time PR"]}' \ + -d '{"labels":["Algo Contributor's PR"]}' \ "https://api.github.com/repos/${{ github.repository }}/issues/${PR_NUMBER}" From 5c1cd3698ea367d097a9205d5b6795c1fbabb2b0 Mon Sep 17 00:00:00 2001 From: Ajay-Dhangar Date: Sun, 13 Oct 2024 09:59:58 +0530 Subject: [PATCH 11/17] added Lighthouse Report for every PR --- .github/workflows/lighthouse-report.yml | 68 +++++++++++++++++++ .github/workflows/lighthouserc.json | 20 ++++++ admin/scripts/formatLighthouseReport.js | 88 +++++++++++++++++++++++++ admin/scripts/package.json | 13 ++++ 4 files changed, 189 insertions(+) create mode 100644 .github/workflows/lighthouse-report.yml create mode 100644 .github/workflows/lighthouserc.json create mode 100644 admin/scripts/formatLighthouseReport.js create mode 100644 admin/scripts/package.json diff --git a/.github/workflows/lighthouse-report.yml b/.github/workflows/lighthouse-report.yml new file mode 100644 index 000000000..88cf599ec --- /dev/null +++ b/.github/workflows/lighthouse-report.yml @@ -0,0 +1,68 @@ +name: Lighthouse Report + +on: + pull_request_target: + branches: + - main + - algo-v** + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + lighthouse-report: + permissions: + pull-requests: write # for marocchino/sticky-pull-request-comment + name: Lighthouse Report + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4.2.0 + + - name: Use Node.js + uses: actions/setup-node@v4.0.4 + with: + node-version: 20 + + - name: Install dependencies + run: npm ci + + - name: Build website + run: npm run build + + - name: Audit URLs using Lighthouse + id: lighthouse_audit + uses: treosh/lighthouse-ci-action@12.1.0 + with: + urls: | + http://localhost:3000/algo + http://localhost:3000/algo/docs + http://localhost:3000/algo/blog + configPath: ./.github/workflows/lighthouserc.json + uploadArtifacts: true + temporaryPublicStorage: true + + - name: Format lighthouse score + id: format_lighthouse_score + uses: actions/github-script@v7.0.1 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const results = ${{ steps.lighthouse_audit.outputs.manifest }} + const links = ${{ steps.lighthouse_audit.outputs.links }} + const createLighthouseReport = (await import(`${process.env.GITHUB_WORKSPACE}/admin/scripts/formatLighthouseReport.js`)).default; + const comment = createLighthouseReport({ results, links }); + core.setOutput("comment", comment); + + - name: Add Lighthouse stats as comment + id: comment_to_pr + uses: marocchino/sticky-pull-request-comment@v2.9.0 + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + number: ${{ github.event.pull_request.number }} + header: lighthouse + message: ${{ steps.format_lighthouse_score.outputs.comment }} diff --git a/.github/workflows/lighthouserc.json b/.github/workflows/lighthouserc.json new file mode 100644 index 000000000..d07a9fed5 --- /dev/null +++ b/.github/workflows/lighthouserc.json @@ -0,0 +1,20 @@ +{ + "ci": { + "collect": { + "startServerCommand": "npm run serve", + "startServerReadyPattern": "Serving", + "startServerReadyTimeout": 10000, + "numberOfRuns": 1, + "settings": { + "skipAudits": [ + "robots-txt", + "canonical", + "tap-targets", + "is-crawlable", + "works-offline", + "offline-start-url" + ] + } + } + } + } \ No newline at end of file diff --git a/admin/scripts/formatLighthouseReport.js b/admin/scripts/formatLighthouseReport.js new file mode 100644 index 000000000..6bfa5e8d0 --- /dev/null +++ b/admin/scripts/formatLighthouseReport.js @@ -0,0 +1,88 @@ +// @ts-check + +/** + * @typedef {Record<'performance' | 'accessibility' | 'best-practices' | 'seo', +* number>} LighthouseSummary +*/ + +/** @type {Record} */ +const summaryKeys = { + performance: "Performance", + accessibility: "Accessibility", + "best-practices": "Best Practices", + seo: "SEO", +}; + +/** @param {number} rawScore */ +const scoreEntry = (rawScore) => { + const score = Math.round(rawScore * 100); + const scoreIcon = score >= 90 ? "🟢" : score >= 50 ? "🟡" : "🔴"; + return `${scoreIcon} ${score}`; +}; + +/** +* @param {string} url +* @returns {module:url.URL} +*/ +function createURL(url) { + try { + return new URL(url); + } catch (e) { + throw new Error(`Can't create URL for string=${url}`, { cause: e }); + } +} + +/** +* @param {Object} param0 +* @param {string} param0.url +* @param {LighthouseSummary} param0.summary +* @param {string} param0.reportUrl +*/ +const createMarkdownTableRow = ({ url, summary, reportUrl }) => + [ + `| [${createURL(url).pathname}](${url})`, + .../** @type {(keyof LighthouseSummary)[]} */ ( + Object.keys(summaryKeys) + ).map((k) => scoreEntry(summary[k])), + `[📄](${reportUrl}) |`, + ].join(" | "); + +const createMarkdownTableHeader = () => [ + ["| URL 🌐", ...Object.values(summaryKeys), "📊 |"].join(" | "), + ["|---", ...Array(Object.keys(summaryKeys).length).fill("---"), "---|"].join( + "|", + ), +]; + +/** +* @param {Object} param0 +* @param {Record} param0.links +* @param {{url: string, summary: LighthouseSummary}[]} param0.results +*/ +const createLighthouseReport = ({ results, links }) => { + const tableHeader = createMarkdownTableHeader(); + const tableBody = results.map((result) => { + const testUrl = /** @type {string} */ ( + Object.keys(links).find((key) => key === result.url) + ); + const reportPublicUrl = /** @type {string} */ (links[testUrl]); + + return createMarkdownTableRow({ + url: testUrl, + summary: result.summary, + reportUrl: reportPublicUrl, + }); + }); + const comment = [ + "### ⚡️ Lighthouse Report for the Deploy Preview of this PR 🚀", + "", + "🔗 Site: [Algo](https://github.com/ajay-dhangar/algo) | [Live Site](https://ajay-dhangar.github.io/algo/)", + "", + ...tableHeader, + ...tableBody, + "", + ]; + return comment.join("\n"); +}; + +export default createLighthouseReport; \ No newline at end of file diff --git a/admin/scripts/package.json b/admin/scripts/package.json new file mode 100644 index 000000000..a1f1970a2 --- /dev/null +++ b/admin/scripts/package.json @@ -0,0 +1,13 @@ +{ + "name": "algo-scripts", + "description": "These are the scripts used in various places of CodeHarborHub to automate tasks.", + "private": true, + "license": "MIT", + "type": "module", + "version": "1.0.0", + "main": "formatLighthouseReport.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "ajay-dhangar" + } \ No newline at end of file From 7779f12ba6f9cecf0c45b1fd8a356f5d676c9730 Mon Sep 17 00:00:00 2001 From: ajay-dhangar <99037494+Ajay-Dhangar@users.noreply.github.com> Date: Sun, 13 Oct 2024 06:09:32 +0000 Subject: [PATCH 12/17] Updated contributors list --- README.md | 138 +++++++++++++++++++++++++++--------------------------- 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/README.md b/README.md index cf1da56ed..ed358f240 100644 --- a/README.md +++ b/README.md @@ -253,24 +253,24 @@ We are grateful to all the contributors who have helped improve this project. Yo - - yashksaini-coder + + jvkousthub
- Yash Kumar Saini + Kousthub J V
- - 17arindam + + narendra-dhangar
- Arindam + Narendra Dhangar
- - IRFANSARI + + Soumya03007
- Irfan Ansari + Soumyadeep Paul
@@ -281,65 +281,56 @@ We are grateful to all the contributors who have helped improve this project. Yo - - Soumya03007 + + IRFANSARI
- Soumyadeep Paul + Irfan Ansari
- - narendra-dhangar + + yashksaini-coder
- Narendra Dhangar + Yash Kumar Saini
- - jvkousthub -
- Kousthub J V -
- - - - meghanakn473 + + 17arindam
- K N Meghana + Arindam
- - mehul-m-prajapati + + Saaarthak0102
- Mehul Prajapati + Sarthak
- - vedhcet-07 + + Mansi07sharma
- Vishwas M D + Mansi07sharma
- - yogeswari05 + + 770navyasharma
- Chekka Yogeswari + Navya Sharma
- - Saaarthak0102 + + PrAyAg9
- Sarthak + PrAyAg9
- - karthikyandrapu @@ -347,32 +338,34 @@ We are grateful to all the contributors who have helped improve this project. Yo Durga Karthik Yandrapu + + - - PrAyAg9 + + yogeswari05
- PrAyAg9 + Chekka Yogeswari
- - 770navyasharma + + vedhcet-07
- Navya Sharma + Vishwas M D
- - Ruksina01 + + mehul-m-prajapati
- Ruksina + Mehul Prajapati
- - shalini-bhandari + + meghanakn473
- Shalini Bhandari + K N Meghana
@@ -382,14 +375,28 @@ We are grateful to all the contributors who have helped improve this project. Yo Subham Singh - - LitZeus
Tejas Athalye
+ + + + + + shalini-bhandari +
+ Shalini Bhandari +
+ + + + Ruksina01 +
+ Ruksina +
@@ -405,6 +412,13 @@ We are grateful to all the contributors who have helped improve this project. Yo PRASHANT SWAROOP + + + Bhum-ika +
+ Bhumika Sharma +
+ nishakp3005 @@ -412,6 +426,8 @@ We are grateful to all the contributors who have helped improve this project. Yo Nishita Panchal + + jashwanthbavandlapalli @@ -425,15 +441,6 @@ We are grateful to all the contributors who have helped improve this project. Yo
Himanshi Maheshwari
- - - - - - Bhum-ika -
- Bhumika Sharma -
@@ -442,13 +449,6 @@ We are grateful to all the contributors who have helped improve this project. Yo Bhumika Sharma - - - Mansi07sharma -
- Mansi07sharma -
- Lokesh11868 From 460645fead4fe84d5117d408cd3e5cfa868da70a Mon Sep 17 00:00:00 2001 From: ajay-dhangar <99037494+Ajay-Dhangar@users.noreply.github.com> Date: Sun, 13 Oct 2024 06:23:30 +0000 Subject: [PATCH 13/17] Updated contributors list --- README.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ed358f240..b59b1c4fa 100644 --- a/README.md +++ b/README.md @@ -530,6 +530,13 @@ We are grateful to all the contributors who have helped improve this project. Yo Sejal + + + samar12-rad +
+ Samarth Vaidya +
+ RanaJay3101 @@ -551,6 +558,8 @@ We are grateful to all the contributors who have helped improve this project. Yo Rahul7raj + + oebelus @@ -558,8 +567,6 @@ We are grateful to all the contributors who have helped improve this project. Yo Oebelus - - shubhagarwal1 @@ -595,6 +602,8 @@ We are grateful to all the contributors who have helped improve this project. Yo IRFANSARI2 + + iking07 @@ -602,8 +611,6 @@ We are grateful to all the contributors who have helped improve this project. Yo Harsh - - Amankr200 From f19f3511255ee5fcd5af2da8eb9589125c039a58 Mon Sep 17 00:00:00 2001 From: ajay-dhangar <99037494+Ajay-Dhangar@users.noreply.github.com> Date: Sun, 13 Oct 2024 06:25:08 +0000 Subject: [PATCH 14/17] Updated contributors list --- README.md | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index b59b1c4fa..ed358f240 100644 --- a/README.md +++ b/README.md @@ -530,13 +530,6 @@ We are grateful to all the contributors who have helped improve this project. Yo Sejal - - - samar12-rad -
- Samarth Vaidya -
- RanaJay3101 @@ -558,8 +551,6 @@ We are grateful to all the contributors who have helped improve this project. Yo Rahul7raj - - oebelus @@ -567,6 +558,8 @@ We are grateful to all the contributors who have helped improve this project. Yo Oebelus + + shubhagarwal1 @@ -602,8 +595,6 @@ We are grateful to all the contributors who have helped improve this project. Yo IRFANSARI2 - - iking07 @@ -611,6 +602,8 @@ We are grateful to all the contributors who have helped improve this project. Yo Harsh + + Amankr200 From b8c78cf447870e3ba6434527a6b452624bf2a3c6 Mon Sep 17 00:00:00 2001 From: Ajay Dhangar <99037494+ajay-dhangar@users.noreply.github.com> Date: Sun, 13 Oct 2024 11:57:52 +0530 Subject: [PATCH 15/17] Update lighthouse-report.yml --- .github/workflows/lighthouse-report.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lighthouse-report.yml b/.github/workflows/lighthouse-report.yml index 88cf599ec..a6a91d8a6 100644 --- a/.github/workflows/lighthouse-report.yml +++ b/.github/workflows/lighthouse-report.yml @@ -39,7 +39,7 @@ jobs: uses: treosh/lighthouse-ci-action@12.1.0 with: urls: | - http://localhost:3000/algo + http://localhost:3000/algo/ http://localhost:3000/algo/docs http://localhost:3000/algo/blog configPath: ./.github/workflows/lighthouserc.json From 17a6e09e219c848c976ce7e74e48300fe1a3169a Mon Sep 17 00:00:00 2001 From: ajay-dhangar <99037494+Ajay-Dhangar@users.noreply.github.com> Date: Sun, 13 Oct 2024 06:28:07 +0000 Subject: [PATCH 16/17] Updated contributors list --- README.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ed358f240..b59b1c4fa 100644 --- a/README.md +++ b/README.md @@ -530,6 +530,13 @@ We are grateful to all the contributors who have helped improve this project. Yo Sejal + + + samar12-rad +
+ Samarth Vaidya +
+ RanaJay3101 @@ -551,6 +558,8 @@ We are grateful to all the contributors who have helped improve this project. Yo Rahul7raj + + oebelus @@ -558,8 +567,6 @@ We are grateful to all the contributors who have helped improve this project. Yo Oebelus - - shubhagarwal1 @@ -595,6 +602,8 @@ We are grateful to all the contributors who have helped improve this project. Yo IRFANSARI2 + + iking07 @@ -602,8 +611,6 @@ We are grateful to all the contributors who have helped improve this project. Yo Harsh - - Amankr200 From d4acee02cf3d9f1668ae4cb99917baf64eeaf394 Mon Sep 17 00:00:00 2001 From: ajay-dhangar <99037494+Ajay-Dhangar@users.noreply.github.com> Date: Sun, 13 Oct 2024 06:33:59 +0000 Subject: [PATCH 17/17] Updated contributors list --- README.md | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index b59b1c4fa..ed358f240 100644 --- a/README.md +++ b/README.md @@ -530,13 +530,6 @@ We are grateful to all the contributors who have helped improve this project. Yo Sejal - - - samar12-rad -
- Samarth Vaidya -
- RanaJay3101 @@ -558,8 +551,6 @@ We are grateful to all the contributors who have helped improve this project. Yo Rahul7raj - - oebelus @@ -567,6 +558,8 @@ We are grateful to all the contributors who have helped improve this project. Yo Oebelus + + shubhagarwal1 @@ -602,8 +595,6 @@ We are grateful to all the contributors who have helped improve this project. Yo IRFANSARI2 - - iking07 @@ -611,6 +602,8 @@ We are grateful to all the contributors who have helped improve this project. Yo Harsh + + Amankr200