## Friday Fun Session Topics

### Year 2019

#### May

23^{rd} May 2019 (104^{th}) – Optimizing SQL Queries using Join Hints

16^{th} May 2019 (103^{rd}) – Largest Rectangular Area in a Histogram at O(n)

9^{th} May 2019 (102^{nd}) – Efficient Construction of Hierarchical Dropdown for UI

2^{nd} May 2019 (101^{st}) – Hierarchical and Recursive Queries in T-SQL

#### Apr

25^{th} Apr 2019 (100^{th}) – Segment Tree (Query and Update)

18^{th} Apr 2019 (99^{th}) – Segment Tree (Building)

11^{th} Apr 2019 (98^{th}) – Maximum Rectangular Area in Histogram (Divide and Conquer)

4^{th} Apr 2019 (97^{th}) – Trapping Rain Water

#### Mar

28^{th} Mar 2019 (96^{th}) – Dutch National Flag Problem

21^{st} Mar 2019 (95^{th}) – Permutation

14^{th} Mar 2019 (94^{th}) – Post-order sequence to binary tree, check if BST

7^{th} Mar 2019 (93^{rd}) – Pre-order sequence to binary tree, check if BST

#### Feb

28^{th} Feb 2019 (92^{nd}) – Task Dependencies, Build Execution Order, if Any (using DFS)

21^{st} Feb 2019 – Missed, On Leave

14^{th} Feb 2019 (91^{st}) – Build BST in an Efficient Way to Count Height of Each Node (Contd.)

7^{th} Feb 2019 (90^{th}) – Build BST in an Efficient Way to Count Height of Each Node (Contd.)

#### Jan

31^{st} Jan 2019 (89^{th}) – Build BST in an Efficient Way to Count Height of Each Node (Contd.)

25^{th} Jan 2019 (88^{th}) – Build BST in an Efficient Way to Count Height of Each Node

17^{th} Jan 2019 (87^{th}) – Common First Ancestor of Two Nodes in a Binary Tree with All Unique Values

10^{th} Jan 2019 (86^{th}) – Check if a Binary Tree is Balanced

3^{rd} Jan 2019 (85^{th}) – Number of Paths with a Certain Sum in a Binary Tree (Top-down)

### Year 2018

#### Dec

27^{th} Dec 2018 (84^{th}) – Number of Subsequences Making a Certain Sum In an Array

20^{th} Dec 2018 (83^{rd}) – Number of Paths with a Certain Sum in a Binary Tree (Bottom-up)

13^{th} Dec 2018 (82^{nd}) – Binary Tree to Doubly Linked List

5^{th} Dec 2018 (81^{st}) – Given a BST, Find All Input Sets That Can Build it

#### Nov

28^{th} Nov 2018 (80^{th}) – Number of ways a BST can be built with n distinct keys

21^{st} Nov 2018 (79^{th}) – Merge Two Lists in All Possible Ways Preserving Relative Order of Elements Within Each List

14^{th} Nov 2018 (78^{th}) – Two-way/Bidirectional Search BFS

7^{th} Nov 2018 (77^{th}) – Detecting Cycle in a Directed Graph

#### Oct

31^{st} Oct 2018 (76^{th}) – Drawing with HTML5 <canvas> and JavaScript, Rotation of Axes, Arrow Drawing

24^{th} Oct 2018 (75^{th}) – CA, ICA, Chain of Trust

17^{th} Oct 2018 (74^{th}) – How does SSL/TLS work

10^{th} Oct 2018 (73^{rd}) – Self-signed SAN Certificate for localhost Using OpenSSL

3^{rd} Oct 2018 (72^{nd}) – Gradient Descent

#### Sep

26^{th} Sep 2018 (71^{th}) – Simple Linear Regression Using Gradient Descent

19^{th} Sep 2018 (70^{th}) – Simple Linear Regression Using Linear Least Squares

12^{th} Sep 2018 (69^{th}) – Multiple Linear Regression Demo Using R

5^{th} Sep 2018 (68^{th}) – Cycle Detection Using Union by Rank and Path Compression in an Undirected Graph

#### Aug

29^{th} Aug 2018 (67^{th}) – Union by Rank and Path Compression

22^{nd} Aug 2018 – Missed, Public Holiday

15^{th} Aug 2018 (66^{th}) – Stable Roommates Problem (continued)

8^{st} Aug 2018 (65^{th}) – Stable Roommates Problem (continued)

1^{st} Aug 2018 (64^{th}) – Stable Roommates Problem

#### Jul

25^{th} Jul 2018 (63^{rd}) – 2-d Array Printing in Spiral order

18^{th} Jul 2018 (62^{nd}) – Stable Marriage Problem (continued)

11^{th} Jul 2018 (61^{st}) – Stable Marriage Problem

4^{th} Jul 2018 (60^{th}) – DFS

#### Jun

27^{th} Jun 2018 (59^{th}) – BFS

20^{th} Jun 2018 – Cancelled

13^{th} Jun 2018 (58^{th}) – Ford-Fulkerson Method (Max-flow)

6^{th} Jun 2018 – Missed, On Leave

#### May

30^{th} May 2018 – Missed, On Leave

23^{rd} May 2018 (57^{th}) – Karger’s Algorithm (Minimum cut)

16^{th} May 2018 (56^{th}) – Solution – Currency Arbitrage with Increasing Rate

11^{th} May 2018 – Cancelled

4^{th} May 2018 – Cancelled

#### Apr

27^{th} Apr 2018 – Cancelled

20^{th} Apr 2018 – Cancelled

13^{rd} Apr 2018 – Cancelled

6^{th} Apr 2018 – Cancelled

#### Mar

30^{th} Mar 2018 – Missed, Public Holiday

23^{rd} Mar 2018 (55^{th}) – Bitcoin – Simple Payment Verification (SPV)

16^{th} Mar 2018 (54^{th}) – Cryptographic Hash Function – Properties

9^{th} Mar 2018 (53^{rd}) – Collation in MS SQL Server

2^{nd} Mar 2018 (52^{nd}) – Solution – Currency Arbitrage with Decreasing Rate

#### Feb

23^{rd} Feb 2018 (51^{st}) – Merkle Tree

16^{th} Feb 2018 – Missed, Chinese New Year

9^{th} Feb 2018 (50^{th}) – RSA

2^{nd} Feb 2018 (49^{th}) – Solution – Currency Arbitrage

### Jan

26^{th} Jan 2018 (48^{th}) – Overview of Bitcoin and Blockchain

19^{th} Jan 2018 (47^{th}) – Johnson’s Algorithm

12^{th} Jan 2018 (46^{th}) – Dijkstra’s Problem with Negative Edge

5^{th} Jan 2018 (45^{th}) – Solution – Sprint Completion Time

### Year 2017

#### Dec

29^{th} Dec 2017 – Missed, On Leave

22^{nd} Dec 2017 – Missed, On Leave

15^{th} Dec 2017 (44^{th}) – Rod Cutting Problem

8^{th} Dec 2017 (43^{rd}) – Task Scheduling – Unlimited Server

1^{st} Dec 2017 (42^{nd}) – Solution – RC Election Result

#### Nov

24^{th} Nov 2017 (41^{st}) – Traveling Salesman Problem (Brute force and Bellman–Held–Karp)

17^{th} Nov 2017 (40^{th}) – Hamiltonian Path

10^{th} Nov 2017 (39^{th}) – Coin Exchange – Min Number of Coins

3^{rd} Nov 2017 (38^{th}) – Solution – Choosing Oranges

#### Oct

27^{th} Oct 2017 – Missed, On Leave

20^{th} Oct 2017 (37^{th}) – Coin Exchange – Number of Ways

13^{th} Oct 2017 – Missed, JLT D&D

6^{th} Oct 2017 (36^{th}) – Solution – Team Lunch

#### Sep

29^{th} Sep 2017 (35^{th}) – Floyd-Warshall Algorithm

22^{nd} Sep 2017 (34^{th}) – Executing SP Using EF; Transaction in Nested SP

15^{th} Sep 2017 (33^{rd}) – Solution – FaaS; Pseudo-polynomial Complexity

8^{th} Sep 2017 – Missed, JLT Family Day

1^{st} Sep 2017 – Missed, Hari Raya

#### Aug

25^{th} Aug 2017 (32^{nd}) – Multithreaded Programming

18^{th} Aug 2017 (31^{st}) – Knapsack Problem

11^{th} Aug 2017 (30^{th}) – Vertex Coloring

4^{th} Aug 2017 (29^{th}) – Solution – Scoring Weight Loss

#### Jul

28^{th} Jul 2017 (28^{th}) – Minimum Spanning Tree – Kruskal and Prim

21^{st} Jul 2017 (27^{th}) – Pseudorandom Number Generator

14^{th} Jul 2017 (26^{th}) – Rete Algorithm

7^{th} Jul 2017 (25^{th}) – Solution – Manipulating Money Exchange

#### Jun

30^{th} Jun 2017 (24^{th}) – Rules Engine

23^{rd} Jun 2017 (23^{rd}) – Inducting Classification Tree

16^{th} Jun 2017 (22^{nd}) – Incision into Isolation Level; Interpreting IIS Internals; Synchronizing Web System

9^{th} Jun 2017 (21^{st}) – Maximum Subarray Problem

2^{nd} Jun 2017 (20^{th}) – Solution – Making Money at Stock Market

#### May

26^{th} May 2017 (19^{th}) – Understanding Correlation Coefficient; k-NN Using R

19^{th} May 2017 (18^{th}) – k-d Tree and Nearest Neighbour Search

12^{th} May 2017 (17^{th}) – Bellman Ford Algorithm

5^{th} May 2017 (16^{th}) – Solution – Company Tour 2017 to Noland

#### Apr

28^{th} Apr 2017 (15^{th}) – Models in Machine Learning; k-Nearest Neighbors (k-NN)

21^{st} Apr 2017 (14^{th}) – Edit/Levenshtein Distance

14^{th} Apr 2017 – Missed, Good Friday

7^{th} Apr 2017 (13^{th}) – Solution – No Two Team Member Next to Each Other

#### Mar

31^{st} Mar 2017 (12^{th}) – N-queens

24^{th} Mar 2017 (11^{th}) – Longest Common Subsequence (LCS)

17^{th} Mar 2017 (10^{th}) – Dijkstra’s Algorithm

10^{th} Mar 2017 (9^{th}) – Infix, Prefix (Polish), Postfix (Reverse Polish)

3^{rd} Mar 2017 (8^{th}) – Order 2-D Array in all Directions & Find all Triplets with Sum Zero in an Array

#### Feb

24^{th} Feb 2017 (7^{th}) – Trailing Zeros in a Factorial

17^{th} Feb 2017 (6^{th}) – Is this Tree a BST?

10^{th} Feb 2017 (5^{th}) – Given a Number, Find the Smallest Next Palindrome

3^{rd} Feb 2017 (4^{th}) – Merge n Sorted Lists, Each Having m Numbers, Into a Sorted List

#### Jan

27^{th} Jan 2017 – Missed, Chinese New Year Eve

20^{th} Jan 2017 (3^{rd}) – Shortest Exit from Maze

13^{rd} Jan 2017 (2^{nd}) – Finding Fibonacci – Exponential vs. Linear

6^{th} Jan 2017 (1^{st}) – Gmail API with OAuth 2.0