Skip to content

Instantly share code, notes, and snippets.

View Roshankumar350's full-sized avatar
🎯
Focusing

Roshan Kumar Sah Roshankumar350

🎯
Focusing
View GitHub Profile
@Roshankumar350
Roshankumar350 / COW.swift
Last active December 26, 2025 07:03
Copy on write:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let person1 = Person(name: "Mike")
let person2 = person1
class Solution {
func setZeroes(_ matrix: inout [[Int]]) {
if matrix.isEmpty {
return
}
struct Coordinate: Equatable, Hashable {
var row: Int
var column: Int
func selectionSort(forInput input: inout [Int]) {
let uptoIndex = input.count - 1
var currentRunningMaximumNumber = input[0]
for rearIndex in 0..<uptoIndex {
// Assuming all are sorted
var isAllSorted = true
// Assuming rearIndex is minimum Index
@Roshankumar350
Roshankumar350 / InsertionSort.swift
Created April 3, 2021 19:43
Insertion Sort with Swift
func insertionSort(forInput input: inout [Int]) {
let uptoIndex = input.count - 1
for rearIndex in 1...uptoIndex {
let rearValue = input[rearIndex]
var currentRunningIndex = rearIndex
while currentRunningIndex > 0 && input[currentRunningIndex - 1] > rearValue {
input[currentRunningIndex] = input[currentRunningIndex - 1]
@Roshankumar350
Roshankumar350 / BubbleSort.swift
Created April 1, 2021 19:28
Sorting: Understanding Bubble Sort
func bubbleSort(forInput input: inout [Int]) {
let uptoEndIndex = input.count - 1
for rearIndex in 0...uptoEndIndex {
var isAllSorted = true
for frontIndex in 0..<uptoEndIndex - rearIndex {
let currentRunning = frontIndex
let currentRunningAheadByOne = currentRunning + 1
if input[currentRunning] > input[currentRunningAheadByOne] {
input.swapAt(currentRunning, currentRunningAheadByOne)
// MARK: Data Structure
public class BinaryTreeNode<Element: Comparable> {
weak var parent:BinaryTreeNode?
var leftNode:BinaryTreeNode?
var payload:Element
var rightNode:BinaryTreeNode?
// Problem: https://www.pramp.com/challenge/2WBx3Axln1t7JQ2jQq96
func findBusiestPeriod(data: [[Int]]) -> Int {
var timeStamp = 0
var busiest = -1
var currentBusiest = 0
let length = data.count
func isvalidPasswordPolicy(_ password: String) -> Bool {
// Output
var isValidPasswordPolicy = false
// Get the component of each password policy
let components = password.components(separatedBy: CharacterSet.whitespaces)
// From 1st component get the lower and upper bound
let first = components[0].components(separatedBy: "-")
guard var lowerBound = Int(first.first ?? "0") else { return isValidPasswordPolicy }
func isvalidPasswordPolicy(_ password: String) -> Bool {
// Output
var isValidPasswordPolicy = false
// Get the component of each password policy
let components = password.components(separatedBy: CharacterSet.whitespaces)
// From 1st component get the lower and upper bound
let first = components[0].components(separatedBy: "-")
guard let lowerBound = Int(first.first ?? "0") else { return isValidPasswordPolicy }
@Roshankumar350
Roshankumar350 / NetworkExtension.swift
Last active February 28, 2021 10:07
Handy network extension
import Foundation
import Combine
// MARK: - Error
enum APIError: Error, LocalizedError {
case unKnown
case apiError(reason: String)
}
extension APIError {