Official ACM CSS PEC repository for resources and all things Open source

Overview

Contributing Guidelines

PRs Welcome GitHub pull requests GitHub issues

Ahoy there! Welcome to the PEC-ACM Open Source Repository. We request you to read the whole guidelines before making any pull requests. In case any doubt arises, please feel free to ask it in the Discussion tab.


Resources for various CS fields

This repository also shares a collection of resources, contributed by the members of PEC ACM CSS as well as other tech enthusiasts of the college, for learning various fields of computer science. You can make use of these resources as a reference point for honing your technical skills.


Resources Link to the respective folder
Machine Learning ML
Web Development Web Dev resources
App Development App Dev resources
Competitive Coding & DSA CP DSA resources
Git and Github GIT
Cyber Security Cyber Security
Blockchain Development Blockchain

You wish to further enrich this collection of resources? Well go ahead and add your own as well 🤩 ! Here is how you can do this :

  • Either fill up this google form and your response will be updated by us in the repo
  • OR send a PR after adding your response to the README file of the respective resource folder

Contributing

How to Contribute

There are several issues marked in the Issues section. These include the questions with appropriate labels (if you are new to contributing we recommend you filter by good-first-issue label). Clicking on an open issue will show you the problem statement. Read that carefully and code what is asked for (sometimes the expected complexity of the solution may be marked).

NOTE : If you are solving any Issue, make sure you create a new branch, mention the Issue ID in the title of your Pull request and adhere to the Code of conduct and Coding style.


For Contributors

It's our pleasure that you are considering contributing to this repository. We hope that this repository can be used by learners from PEC, or anywhere in the world. Being one of the contributors, you must adhere to the following Code of Conduct:

  • Please make sure that the solution you are submitting has not already been added or a PR has already been raised. You should check that before submitting your PR.
  • Check the label for the Issue you are solving, for example if it's good-first-issue then add your solution file in the Good-First-Issue folder and name the file appropiately or use the title itself (Print_Subsets_of_Array.cpp)

Coding Style

  • You can use any programming language you want.
  • It is recommended that you use concepts of Object Oriented Programming and Functions. Their names must be intuitive and should make their purpose clear to the readers.
  • Use proper naming conventions for the language you are coding in. If you're not familiar with them, here are the conventions for C++ and Python.
  • Make proper use of comments/docstrings wherever necessary but do not use them for stuff too trivial.
  • If you are modifying documentation/comments, make sure your language is concise.
  • You can also add the algorithm explanation as a comment if you wish to.
  • Use camelCase for variable and function names.
  • And the most important thing: Have fun coding!

Contributors:

The Wonderful People Who Contributed Here

Comments
  • Nth node from end of linked list

    Nth node from end of linked list

    Given a linked list consisting of L nodes and given a number N. The task is to find the Nth node from the end of the linked list.

    Example: Input: N = 2 LinkedList: 1->2->3->4->5->6->7->8->9

    Output: 8

    Explanation: In the first example, there are 9 nodes in linked list and we need to find 2nd node from end. 2nd node from end os 8.

    Your Task: The task is to complete the function getNthFromLast() which takes two arguments: reference to head and N and you need to return Nth from the end or -1 in case node doesn't exist..

    Note: Try to solve in single traversal.

    good first issue Medium hacktoberfest-accepted 
    opened by Gauravsharma-20 11
  • Check AB

    Check AB

    Suppose you have a string, S, made up of only 'a's and 'b's. Write a recursive function that checks if the string was generated using the following rules:

    a. The string begins with an 'a' b. Each 'a' is followed by nothing or an 'a' or "bb" c. Each "bb" is followed by nothing or an 'a'

    If all the rules are followed by the given string, return true otherwise return false.

    Input format : String S Output format : 'true' or 'false'

    Constraints : 1 <= |S| <= 1000 where |S| represents length of string S.

    Sample Input 1 : abb Sample Output 1 : true

    Sample Input 2 : abababa Sample Output 2 : false

    good first issue DSA Recursion hacktoberfest-accepted 
    opened by Aaryan8751 9
  • Find Minimum in Rotated Sorted Array

    Find Minimum in Rotated Sorted Array

    Suppose an array of length n sorted in ascending order is rotated between 1 and n times. For example, the array nums = [0,1,2,4,5,6,7] might become:

    [4,5,6,7,0,1,2] if it was rotated 4 times. [0,1,2,4,5,6,7] if it was rotated 7 times. Notice that rotating an array [a[0], a[1], a[2], ..., a[n-1]] 1 time results in the array [a[n-1], a[0], a[1], a[2], ..., a[n-2]].

    Given the sorted rotated array nums of unique elements, return the minimum element of this array.

    You must write an algorithm that runs in O(log n) time.

    Example 1:
    Input: nums = [3,4,5,1,2]
    Output: 1
    Explanation: The original array was [1,2,3,4,5] rotated 3 times.
    
    Example 2:
    Input: nums = [4,5,6,7,0,1,2]
    Output: 0
    Explanation: The original array was [0,1,2,4,5,6,7] and it was rotated 4 times.
    
    good first issue hacktoberfest-accepted 
    opened by Gauravsharma-20 6
  • Max Priority Queue

    Max Priority Queue

    Implement the class for Max Priority Queue which includes following functions -

    1. getSize - Return the size of priority queue i.e. number of elements present in the priority queue.
    2. isEmpty - Check if priority queue is empty or not. Return true or false accordingly.
    3. insert - Given an element, insert that element in the priority queue at the correct position.
    4. getMax - Return the maximum element present in the priority queue without deleting. Return -Infinity if priority queue is empty.
    5. removeMax - Delete and return the maximum element present in the priority queue. Return -Infinity if priority queue is empty.
    good first issue Medium Priority Queue hacktoberfest-accepted 
    opened by Aaryan8751 6
  • Making beginner friendly Issues

    Making beginner friendly Issues

    Issues related to DSA, CP, JS, HTML+CSS, operating system

    Start with 6 Issues per DSA - 2x{Easy, Medium, Hard} :

    • Arrays
    • Stacks
    • Queues & priority queue
    • Linked List
    • Hashmap
    • Trees
    • Recursion
    • Dynamic Programming
    • Graphs
    • General algorithm
    OC 
    opened by Gauravsharma-20 6
  • Design MRU (Most Recently Used) Cache

    Design MRU (Most Recently Used) Cache

    The Most Recently Used (MRU) cache is like Cache and LRUCache but uses a most-recently-used replacement policy.

    O/P:

    Cache after put(1,1) is 1
    Cache after put(2,2) is 1 -> 2
    Cache after put(3,3) is 1 -> 2 -> 3
    Cache after put(4,4) is 1 -> 2 -> 3 -> 4
    Cache after put(5,5) is 1 -> 2 -> 3 -> 4 -> 5
    Cache after put(6,6) is 1 -> 2 -> 3 -> 4 -> 6
    Cache after get(2) is   1 -> 3 -> 4 -> 6 -> 2
    Cache after put(7,7) is 1 -> 3 -> 4 -> 6 -> 7
    
    hacktoberfest-accepted 
    opened by nirmitgoyal 5
  • Pattern Matching with Tries

    Pattern Matching with Tries

    Given a list of n words and a pattern p that we want to search. Check if the pattern p is present the given words or not. Return true if the pattern is present and false otherwise.

    Input Format : The first line of input contains an integer, that denotes the value of n. The following line contains n space separated words. The following line contains a string, that denotes the value of the pattern p.

    Output Format : The first and only line of output contains true if the pattern is present and false otherwise.

    Implement Using Tries Data Structure.

    Sample Input:
    4
    abc def ghi cba
    de
    
    Sample Output:
    true
    
    good first issue Hard hacktoberfest-accepted 
    opened by Gauravsharma-20 5
  • Christmas Tree Pattern

    Christmas Tree Pattern

    Write a JavaScript program to generate the Christmas Tree pattern below. The tree should be composed of zeroes (0), and it must be topped with an asterisk (*).

    good first issue Easy hacktoberfest-accepted 
    opened by Gauravsharma-20 5
  • Largest Odd number in a string

    Largest Odd number in a string

    You are given a string num, representing a large integer. Return the largest-valued odd integer (as a string) that is a non-empty substring of num, or an empty string "" if no odd integer exists.

    A substring is a contiguous sequence of characters within a string.

    Sample Test Case 1:

    Input: num = "52" Output: "5" Explanation: The only non-empty substrings are "5", "2", and "52". "5" is the only odd number.

    Sample Test Case 2:

    Input: num = "4206" Output: "" Explanation: There are no odd numbers in "4206".

    good first issue Easy hacktoberfest-accepted Strings 
    opened by ultimatecoder2 5
  • Implement Karatsuba Multiplication

    Implement Karatsuba Multiplication

    Given two binary strings that represent value of two integers, find the product of two strings. Strings can be very large. So it can go of range of an integer. So you can represent your answer as a modulus of 1e9+7 (i.e. ans = ans%(1e9+7))

    Sample Test Case:

    str1 = "1100" str2 = "1010" ans = 120

    Try to write an efficient solution

    good first issue Hard Recursion hacktoberfest-accepted Algorithms 
    opened by ultimatecoder2 5
  • 0-1 Knapsack Problem

    0-1 Knapsack Problem

    Given weights and values of n items, put these items in a knapsack of capacity W to get the maximum total value in the knapsack. In other words, given two integer arrays val[0..n-1] and wt[0..n-1] which represent values and weights associated with n items respectively. Also given an integer W which represents knapsack capacity, find out the maximum value subset of val[] such that sum of the weights of this subset is smaller than or equal to W. You cannot break an item, either pick the complete item or don’t pick it (0-1 property).

    good first issue Medium hacktoberfest-accepted Dynamic Programming 
    opened by Gauravsharma-20 5
  • Add College Assignments and solutions - for PEC Students

    Add College Assignments and solutions - for PEC Students

    You can add assignments in the following directory: PEC-Course -> BranchName -> CourseName & CourseCode -> Year -> assignmentFile

    A sample directory structure should look like PEC-Course -> CSE -> computer_graphics_CSN304 -> 2022-> Assignment1

    good first issue hacktoberfest-accepted 
    opened by ultimatecoder2 0
  • Resources for Cloud Technologies

    Resources for Cloud Technologies

    • Create a Cloud Folder/ Add to it if already exists
    • Differrent resources for learning cloud technologies eg: AWS, Firebase, Azure
    • Link to Sample Cloud Apps and even tutorials

    You can get the template from other folders

    good first issue hacktoberfest-accepted 
    opened by Gauravsharma-20 1
  • Frequent Sums

    Frequent Sums

    Mr Chaggan Lal has just learned the maximum subarray sum problem. And while thinking about the solution, he came up with a new problem, the maximum frequent subarray sum problem.

    In this problem, you will be given an array A of N integers. You have to choose a non-empty subarray with the maximum possible score. The score of a subarray is calculated as

    score(l,r)=(Al+⋯+Ar)⋅(occurrences)

    Here, occurrences is the number of occurrences of that subarray in A.

    Now Chaggan can't solve this problem as he is aged, so please help him solve it and in return you will get blessings of Chaggan Lal for a Placement😉

    Input

    • The first line contains an integer T, the number of test cases. Then the test cases follow.
    • The first line of each test case contains an integer n, the size of the array.
    • The second line contains n integers A1,…,AN.

    Output

    • For each test case, output the maximum possible score in a new line.

    Sample Input 2 6 10 8 -20 5 5 5 10 -5 1 7 -1 2 -4 10 0 -11 3

    Sample Output 20 15

    Explanation

    In the first test case, the maximum score is attained by subarray [5,5], its score is (5+5)⋅2=20 since it occurs twice in A.

    In the second test case, the maximum score is attained by both subarrays [1,7,−1,2,−4,10] and [1,7,−1,2,−4,10,0]. Both have sum 15 and occur once, so their scores are 15⋅1=15.

    good first issue CP Medium hacktoberfest-accepted 
    opened by HarshDutt17 0
  • Hacktoberfest: Add resources

    Hacktoberfest: Add resources

    Resources related to:

    • Previous year papers for subjects
    • Language - how you learned a particular language and the resources you used
    • Different Tech resources for appropriate folders
    • New Issues are also welcome
    hacktoberfest-accepted 
    opened by Gauravsharma-20 8
Owner
PEC CSS
Computer Science Society, PEC
PEC CSS
Algoritmi d'esame per il corso di Elaborazione delle Immagini all'Università degli Studi di Napoli

ELIM: Algoritmi d'esame Questo archivio contiene una collezione di algoritmi potenzialmente richiesti per la prova al calcolatore dell'esame di Elabor

Dario 3 Sep 7, 2022
All basic algorithms for solving problems of CP

All basic algorithms for solving problems of CP

Islam Assanov 1 Nov 14, 2021
A C++ implementation of the graph algorithm of finding all strongly connected components with DFS

SinkSCC A C++ implementation of the graph algorithm of finding all strongly connected components with DFS. Details Each SCC of a graph can be treated

Schrodinger ZHU Yifan 2 Nov 2, 2021
This repository contains path planning algorithms in C++ for a grid based search.

This repository contains path planning algorithms in C++ for a grid based search.

null 245 Dec 30, 2022
Duplicate repository of Datastructures

Duplicate repository of Datastructures

Vasu Bansal 22 Jul 29, 2022
This repository contains computer science algorithms code.

Algorithms This repository contains computer science algorithms code. Contribution Guidelines Fork the algorithms Repository from Coding Minutes Now f

Coding Minutes 26 Nov 2, 2022
This repository contains algorithms in C++

Algorithms_CPP This repository contains algorithms in C++ Includes algorithms with loops, conditionals, functions and classes using C++ programming la

Jeyssson 1 Dec 26, 2021
🚀 A open sourced, extremely efficient Texas Hold'em and short deck solver

?? A open sourced, extremely efficient Texas Hold'em and short deck solver

icybee 869 Dec 30, 2022
C++ fundamentals and questions for beginners and intermediates. Welcoming developers, content writers, and programming enthusiasts.

Rules To Contribute To This Repo You can write solutions only in C++ for Data Structure and Algorithms (if you dont know C++ you can submit only algor

Sushree Satarupa 210 Dec 11, 2022
Collection of algorithms and data structures in C++ and Java

Collection of algorithms and data structures in C++ and Java

Andrei Navumenka 1.7k Jan 2, 2023
Organic Maps is a better fork of MAPS.ME, an Android & iOS offline maps app for travelers, tourists, hikers, and cyclists based on top of crowd-sourced OpenStreetMap data and curated with love by MAPS.ME founders.

?? Organic Maps is a better fork of MAPS.ME, an Android & iOS offline maps app for travelers, tourists, hikers, and cyclists based on top of crowd-sourced OpenStreetMap data and curated with love by MAPS.ME founders. No ads, no tracking, no data collection, no crapware.

Organic Maps 4.4k Jan 2, 2023
WasmEdge Runtime is a high-performance, extensible, and hardware optimized WebAssembly Virtual Machine for automotive, cloud, AI, and blockchain applications.

WasmEdge Runtime is a high-performance, extensible, and hardware optimized WebAssembly Virtual Machine for automotive, cloud, AI, and blockchain applications.

null 5.1k Jan 5, 2023
Emusicchain is a blockchain built using Cosmos SDK and Tendermint and created with Starport.

emusicchain emusicchain is a blockchain built using Cosmos SDK and Tendermint and created with Starport. Get started starport chain serve serve comma

null 2 May 13, 2022
A library of common data structures and algorithms written in C.

C Algorithms The C programming language includes a very limited standard library in comparison to other modern programming languages. This is a coll

Simon Howard 2.9k Jan 9, 2023
Several algorithms and data structures implemented in C++ by me (credited to others where necessary).

Algorithms This repository contains my implementations of several algorithms and data structures in C++ (credited to others where necessary). It has i

Petar Veličković 589 Dec 19, 2022
C++ implementations of well-known (and some rare) algorithms, while following good software development practices

ProAlgos: C++ This project is focused on implementing algorithms and data structures in C++, while following good software engineering practices, such

ProAlgos 485 Dec 7, 2022
Xournal++ is a handwriting notetaking software with PDF annotation support. Written in C++ with GTK3, supporting Linux (e.g. Ubuntu, Debian, Arch, SUSE), macOS and Windows 10. Supports pen input from devices such as Wacom Tablets.

Xournal++ is a hand note taking software written in C++ with the target of flexibility, functionality and speed. Stroke recognizer and other parts are based on Xournal Code

Xournalpp 7.9k Jan 7, 2023
Rufus is a utility that helps format and create bootable USB flash drives.

Rufus is a utility that helps format and create bootable USB flash drives.

Pete Batard 21.3k Jan 9, 2023
Provide building blocks (software, hardware and algorithms) for implementing SLAM using small sensors

RemoteSLAM The purpose of this repo is to provide the building blocks (software drivers, hardware and algorithms) for implementing SLAM systems using

Autonomous Drones Lab, Tel Aviv University 38 Jan 20, 2022