Skip to content

Instantly share code, notes, and snippets.

View khpatel4991's full-sized avatar
😄

Kashyap Patel khpatel4991

😄
View GitHub Profile
@khpatel4991
khpatel4991 / island_count.rb
Created August 29, 2016 03:28
Find Number of Islands
require 'set'
# @param {Character[][]} grid
# @return {Integer}
def num_islands(grid)
puts grid.inspect
final_count = 0
grid.length.times do |i|
grid.length.times do |j|
@khpatel4991
khpatel4991 / gist:df8d4a8840a6f8eda58534c2c121aa49
Created August 29, 2016 03:29
Add Whitespace based on validity o the words
def repair_whitespace(str)
buff = []
final_words = []
str.each_char do |char|
buff << char
if valid_word?(buff.join)
final_words << buff.join
@khpatel4991
khpatel4991 / .zshrc
Last active March 14, 2017 19:20
ZSH RC files with custom aliases
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH=/home/kashyap/.oh-my-zsh
# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="fino"
@khpatel4991
khpatel4991 / nested_validation.rb
Created January 4, 2017 23:45
Nested Dry Validations
class AppSchema < Dry::Validation::Schema::Form
configure do |config|
config.type_specs = true
def self.messages
super.merge(
en: { errors: {
discount_pricing: 'are not valid.',
base_package_price: 'You need to have a package_price with quantity 1.',
package_names: 'should be unique.'
} }
@khpatel4991
khpatel4991 / max_profit.rb
Created February 17, 2017 15:34
Max Profit Indices from array of stock prices
class Profit
attr_accessor :bp, :sp, :bp_index, :sp_index
def initialize(bp_index=-1, bp=0, sp_index=-1, sp=0)
@bp_index = bp_index || -1
@bp = bp || 0
@sp_index = sp_index || -1
@sp = sp || 0
end
@khpatel4991
khpatel4991 / cloudSettings
Last active August 14, 2018 15:18
Visual Studio Code Settings Sync Gist
{"lastUpload":"2018-08-14T15:18:49.176Z","extensionVersion":"v3.0.0"}
const prices = [10, 7, 5, 12, 1, 89];
const initialState = {
maxProfit: 0,
bestBuyPrice: prices[0],
};
const bestProfit$ = Rx
.Observable
.from(prices)
def is_prime(num)
i = 2
while(i <= Math.sqrt(num))
return false if num % i === 0
i = i + 1
end
true
end
def print_table(num)
@khpatel4991
khpatel4991 / cs.json
Last active March 14, 2019 11:42
D3.json
{
"name": "flare",
"children": [
{
"name": "analytics",
"children": [
{
"name": "cluster",
"children": [
{"name": "AgglomerativeCluster", "value": 3938},
@khpatel4991
khpatel4991 / transducers.ts
Created May 29, 2019 05:48
Sample Execution of Transducers
const ELEMENTS = 1000000;
const add10 = (a: number) => a + 10;
const isEven = (a: number) => a % 2 === 0;
const getInitial = (): number[] => [];
const combine = (acc: number[], elem: number) => (acc.push(elem), acc);
const compose = (...fns: Function[]) => (x: number) => fns.reduceRight<number>((acc, fn) => fn(acc), x);
const ip = Array.from(Array(ELEMENTS), (_, i) => i);