Skip to content

Instantly share code, notes, and snippets.

@SandeepAggarwal
SandeepAggarwal / SimpleSwizzler.swift
Created June 16, 2021 11:46
Swizzling demo implementation
///copy the implementation of NSObject.init and exchange it with some new fake init we are going to create.
///https://nshint.io/blog/2019/04/08/testing-the-camera-on-the-simulator/
///https://pspdfkit.com/blog/2019/swizzling-in-swift/
private struct Swizzler {
private let klass: AnyClass
init(_ klass: AnyClass) {
self.klass = klass
}
@SandeepAggarwal
SandeepAggarwal / CountSubArraysProblem.swift
Created October 11, 2020 12:31
Given an unsorted array of integers, Count number of sub arrays in an array having sum k
import UIKit
import PlaygroundSupport
func findAllSubArrayWhoseCountMatches(targetValue: Int, in array: [Int]) -> [[Int]] {
var sum = 0
var hashMap = [Int: Int]()
var results = [[Int]]()
for index in 0..<array.count {
sum = sum + array[index]
if sum == target {
@SandeepAggarwal
SandeepAggarwal / SubArrayCountProblemIncludingNegative.swift
Created October 11, 2020 11:59
Given an unsorted array of integers, find a subarray which adds to a given number
import UIKit
import PlaygroundSupport
func findSubArrayWhoseCountMatches(targetValue: Int, in array: [Int]) -> [Int] {
var sum = 0
var hashMap = [Int: Int]()
for index in 0..<array.count {
sum = sum + array[index]
if sum == target {
@SandeepAggarwal
SandeepAggarwal / SubArrayCountProblem.swift
Created October 11, 2020 10:58
Given an unsorted array of nonnegative integers, find a continuous subarray which adds to a given number.
import UIKit
import PlaygroundSupport
func findSubArrayWhoseCountMatches(targetValue: Int, in array: [Int]) -> [Int] {
var sum = 0
var startIndex = 0
for index in 0..<array.count {
sum = sum + array[index]
while sum > target {
@SandeepAggarwal
SandeepAggarwal / BinaryTreeDeletion.swift
Created October 9, 2020 15:58
Deletion in a binary tree
import UIKit
import PlaygroundSupport
class TreeNode {
var data: Int
var left: TreeNode?
var right: TreeNode?
init(data: Int) {
self.data = data
@SandeepAggarwal
SandeepAggarwal / BinaryTreeInsertion.swift
Created October 9, 2020 15:56
Insertion in a Binary tree
import UIKit
import PlaygroundSupport
class TreeNode {
var data: Int
var left: TreeNode?
var right: TreeNode?
init(data: Int) {
self.data = data
@SandeepAggarwal
SandeepAggarwal / TreeTraversals.swift
Last active October 9, 2020 15:59
Tree traversals - inOrder, preOrder, postOrder, levelOrder(Breadth first)
import UIKit
import PlaygroundSupport
class TreeNode {
var data: Int
var left: TreeNode?
var right: TreeNode?
init(data: Int) {
self.data = data
@SandeepAggarwal
SandeepAggarwal / DeleteLinkedListNode.swift
Last active October 8, 2020 20:10
Delete a node in a linked list whose head is not given
import UIKit
import PlaygroundSupport
class Node {
var data: Int
var next: Node?
init(data: Int) {
self.data = data
}
@SandeepAggarwal
SandeepAggarwal / MergeSortedLinkedList.swift
Last active October 8, 2020 20:11
Linked List in place merged of two sorted lists
import UIKit
import PlaygroundSupport
class Node {
var data: Int
var next: Node?
init(data: Int) {
self.data = data
}
@SandeepAggarwal
SandeepAggarwal / TableCellReuse.swift
Last active January 16, 2022 17:23
UIKit table view cell reuse
import UIKit
import PlaygroundSupport
class Cell: UITableViewCell {
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")