Compititve Coding (1)
Compititve Coding (1)
SC III
Semester
2-0-0 NIL
Course Objective:
To enhance students' problem-solving abilities in competitive coding by providing in-depth knowledge of
core data structures, algorithms, and efficient coding techniques. This course aims to prepare students for
technical assessments and coding interviews, building a strong foundation for tackling real-world coding
challenges.
Course Outcomes:
● Apply fundamental and advanced coding techniques to solve problems involving arrays, strings,
recursion, matrices, and linked lists.
● Analyze and implement efficient data structure operations, including stacks, queues, and their
real-world applications in competitive programming.
● Evaluate and optimize problem-solving approaches through comprehensive understanding and
revision of key concepts from previous sessions.
Content Summary: Introduction to LeetCode and Codechef coding platforms, Overview of competitive
programming, setting up environment, approach to problem solving
Reversing the array, finding maximum and minimum elements, Running sum of 1d Array, count elements
with maximum frequency , left/right rotate an array by k positions.
Content Summary: find element in an array, Remove duplicate elements from an sorted array, find
repeating element an array, find equilibrium element in an array.
Session: 4 Array’s Sorting and Time and space complexity Analysis No. of hours: 2
Content Summary: Bubble sort, selection sort, Insertion Sort and complexity Analysis
Session: 5 Array III No. of hours: 2
Content Summary: union and intersection of sorted arrays, maximum subarray sum (Kadane’s Algorithm),
maximum product subarray(based on Kandane’s) , majority Element (moore’s voting algorithm)
Content Summary: check given string is palindrome or not, count number of vowel and consonant, remove
character except alphabet.
Content Summary: Calculate frequency of a character, print maximum occurring character in a string,
Remove duplicate character from a string, count number of word in a string
Content Summary: find factorial, find power of a number, (printing increasing, decreasing and Decreasing
Increasing), count digit, sum of array using recursion
Content Summary: find pivot index, remove duplicates, fibonacci number, tower of hanoi with recursion
tree presentation,
Content Summary: Spiral traversal, searching elements in a matrix, Printing elements in sorted order.
Content Summary: Finding median in row-wise sorted matrix, identifying rows with maximum 1s , rotating
matrices by 90 degrees.
Content Summary: add Node on any position, delete Node from given position, search Node in a linked List,
Count Node in linked List
Content Summary: reverse LinkedList, find mid of the linkedList, Merge Two sorted LinkedList.
Content Summary: add two number, rotate list, remove duplicates from sorted list
Content Summary: Queue implementation using array, Implement circular queue, queue using stack
Content Summary: Revising the completed topics and company specific problems on given topics.
Evaluation Criteria
Criteria Internal (50 marks)
External (50
marks)
2-0-0 NIL
Course Outcomes:
Content summary: Two sum, Best time to buy and sell stocks, Sort 0, 1 and 2(Dutch flag algorithm),
Content Summary: container with most water, merge sorted array, trapping rain water
Content Summary: lower bound , upper bound, koko eating bananas, first bad version
Content Summary: Search in rotated sorted array, Search in rotated sorted array II, aggressive cows
Content Summary: Tree Traversal, preorder traversal, inorder traversal, postorder traversal, level order
traversal( Morris traversal ).
Session: 7 Binary Tree-III. No. of hours: 2
Content Summary: diameter of tree, path sum, print left/right view of Binary tree.
Content Summary: convert sorted array to BST, Delete node in BST, lowest common ancestor
Session:13 HashMap-III.
Content Summary: intersection of two arrays, set matrix zeros, valid anagram
Content Summary:longest consecutive sequence, longest substring without repeating character, bulls and
cows
Content Summary: largest subarray with 0 sum, count of zero sum subarray, length of largest subarray with
contiguous element
Content Summary: Inplace heap sort, kth largest element, kth smallest element
Content Summary: check max heap, top k frequent element, sliding window maximum
Session: 19 Sum up Binary tree and Binary search Tree No. of hours: 2
Reference Books:
Evaluation Criteria
Criteria Internal (50 marks)
External (50
marks)
Course Outcome:
■ Apply bit manipulation, number theory, and string algorithms to solve computational problems.
■ Analyze and implement advanced backtracking and recursion techniques for combinatorial
problems.
■ Evaluate sliding window techniques and two-pointer algorithms for efficient solutions.
■ Solve graph problems using foundational and advanced concepts in competitive programming.
Content Summary: Introduction to AND, OR, XOR operations, Count Set/unset Bits, Toggle a given kth bit,
check if nth bit is set or unset, Check Power of Two/Four.
Content Summary:Counting bits, Single Number 1, Single number 2, Subsets using Bits ( power set
problem) , Find Missing number, Duplicate Numbers.
Content Summary: Euler’s Totient Function, Permutations and Combinations, Inclusion-Exclusion Principle,
Catalan Numbers.
Content Summary: print all subset, permutation of a string, find all unique subset
Content Summary: assign cookies, array partition, can place flower, lemonade change
Content Summary: max chunk to make sorted, max chunk to make sorted-2, 0/1 knapsack.
Content Summary: Graph Traversal BFS(Breadth first search) and DFS(Depth first search)
Content summary: find if path exist(has path), print all path from source to destination, Number of Island
Content summary: Company specific problems on Graphs, sliding window and recursion.
Content summary: Company specific problems on Graphs, sliding window and recursion.
Reference Books:
Evaluation Criteria
Criteria Internal (50 marks)
External (50
marks)
Prerequisite(s), if any: Competitive programming III, Fundamentals of programming & data structure
Course Outcomes:
■ Apply advanced string algorithms and data structures, such as Trie and Huffman Coding, to solve
complex problems.
■ Analyze and implement efficient solutions to dynamic programming problems using memoization and
tabulation approaches.
■ Evaluate and apply tree and segment tree operations to solve traversal, range queries, and
interval-based problems.
Content summary: what is trie DS, use of trie, hashmap vs trie, implementation(representation, insert node,
search node)
Content Summary: delete node, application of trie, count word in trie, word break,
Content Summary: introduction of dynamic programing, covering of prerequisites for dynamic programming,
discussion of memoization and tabulation using fibonacci number/ any problem
Content Summary: house robber, house robber 2, goldmine, path with maximum gold
Content Summary: unique path-1, unique path-2, minimum path sum, target sum subset (DP)
Content Summary: coin change, coin change-2, jump game, jump game 2
Content Summary: what is segment tree, what kind of problem we solve using segment tree, max in interval,
Reference Books:
Evaluation Criteria
Criteria Internal (50 marks)
External (50
marks)