Skip to content

Instantly share code, notes, and snippets.

@krisys
krisys / swype.py
Last active August 10, 2022 15:58
How swype works?
'''
The MIT License (MIT)
Copyright (c) 2013 Krishna Bharadwaj <krishna@krishnabharadwaj.info>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
@krisys
krisys / BadNeighbors.cpp
Last active September 5, 2021 11:39
Bad Neighbors TopCoder
/* Update - Thanks to some folks who pointed out a flaw in my code.
* I have updated it. Hope it is correct now :-)
* Old version can be found here -
https://gist.github.com/krisys/4089748/262cbc10d9b9f1cb5df771e14a1e143a86d2ecc6/
*/
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
@krisys
krisys / FindTheMin.cpp
Last active June 13, 2019 06:48
FindTheMin
#include <vector>
#include <map>
#include <set>
#include <algorithm>
#include <iostream>
#define FOR(i,a,b) for(int i=a;i<b;i++)
#define REP(i,a) FOR(i, 0, a)
#define all(a) a.begin(), a.end()
#define SORT(a) sort(all(a))
@krisys
krisys / LargeInteger.cpp
Created April 30, 2011 12:14
Multiplication of Large Numbers in C++
#include<iostream>
#include<string>
#include<sstream>
#define SIZE 700
using namespace std;
class large{
int no[SIZE];
/*
array is used to store the large number.
@krisys
krisys / SpellCheck.cpp
Created April 30, 2011 10:28
Spell Check - Trie
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int found=0;
class node{
public:
char info;
@krisys
krisys / BeautifulStrings.cpp
Created January 30, 2013 04:50
BeautifulStrings
#include <algorithm>
#include <iostream>
#include <vector>
#define FOR(i,a,b) for(int i=a;i<b;i++)
#define REP(i,a) FOR(i, 0, a)
#define VI vector<int>
#define all(a) (a).begin(), (a).end()
using namespace std;
@krisys
krisys / BalancedSmileys.cpp
Created January 30, 2013 04:45
Balanced Smileys - At any index, the number of closing brackets should be less than or equal to the number of opening brackets, if it is less, then the difference of closing brackets and opening brackets should be equal to the number of happy smileys. And a similar logic should be applied from the end considering the number of sad smileys.
#include <vector>
#include <map>
#include <set>
#include <algorithm>
#include <iostream>
#include <cstdio>
#define FOR(i,a,b) for(int i=a;i<b;i++)
#define REP(i,a) FOR(i, 0, a)
#define all(a) a.begin(), a.end()
@krisys
krisys / LIS.cpp
Last active October 12, 2015 21:28
Longest Increasing sequence
#include <iostream>
#include <algorithm>
using namespace std;
int a[] = {4, 3, 1 ,2, 8, 3, 4};
// int a[] = {1, 6, 2 ,3, 4, 5, 7};
// int a[] = {0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15};
// int a[] = {5,4,6,3,7};
int N = sizeof(a)/sizeof(a[0]);
@krisys
krisys / zigzag.cpp
Created November 16, 2012 18:30
ZigZag Sequence - TopCoder
#include <iostream>
#include <vector>
#define SIZE 50
#define debug(x) {cout << #x << " : " << x << endl ;}
using namespace std;
int main(){
int a[SIZE] = {396, 549, 22, 819, 611, 972, 730, 638, 978, 342, 566, 514, 752,
871, 911, 172, 488, 542, 482, 974, 210, 474, 66, 387, 1, 872, 799,
@krisys
krisys / dbEngine.py
Created April 2, 2012 11:36
Script to convert the DB Engine
import MySQLdb
host = ''
user = ''
passwd = ''
db = ''
# setup the connection
conn = MySQLdb.connect (host = host, user = user, passwd = passwd, db=db)
cursor = conn.cursor()