Skip to content

Instantly share code, notes, and snippets.

import random
m =[[2,3,3,3,3,3,4,4,4,4,4,4],
[2,3,3,3,3,3,4,4,4,4,4,4],
[3,3,3,1,3,3,4,1,4,4,0,4],
[3,3,1,1,1,3,1,1,1,4,4,4],
[3,1,1,1,1,1,1,1,1,1,4,4],
[3,1,1,0,0,0,0,0,1,1,4,4],
[3,1,1,0,0,0,0,0,1,1,4,4],
[2,1,1,1,1,0,0,0,1,1,2,2],
from random import shuffle
import copy
"""
SudokuGenerator
input: grid can be a 2-D matrix of a Sudoku puzzle to solve, or None to generate a new puzzle.
"""
@lvngd
lvngd / rectCollide.js
Created February 3, 2021 19:20
Rectangular collision detection in D3 force layouts. Blog post: https://lvngd.com/blog/rectangular-collision-detection-d3-force-layouts
function rectCollide() {
var nodes,sizes,masses;
var strength = 1;
var iterations = 1;
var nodeCenterX;
var nodeMass;
var nodeCenterY;
function force() {
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<style>
body {font-family: helvetica;}
</style>
<script src="https://d3js.org/d3.v4.min.js"></script>
</head>
<body>
<div id="chart"></div>
import re
import string
import unidecode
from nltk.tokenize import sent_tokenize
from nltk.tokenize import word_tokenize
from nltk.stem import WordNetLemmatizer
from nltk.corpus import stopwords
import gensim.downloader as api
from pycontractions import Contractions
from word2number import w2n
import random
"""
Computes the Convex Hull with the Graham Scan algorithm
Use:
h = ConvexHull()
print(h.hull)
"""
@lvngd
lvngd / d3_pictogram_demo_circles.html
Created November 20, 2020 17:33
How to build a pictogram grid in D3.js. Demo with SVG circles.
<!DOCTYPE html>
<meta charset="utf-8">
<html>
<head>
<script src="http://d3js.org/d3.v4.js"></script>
</head>
<body>
<div id='grid-container'>
<div id='grid-chart'></div>
<html>
<head>
<script src="https://d3js.org/d3.v4.min.js"></script>
<style>
label {
font: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
</style>
@lvngd
lvngd / rectCollide.js
Created September 22, 2021 16:00
rectCollide for D3 V6
function rectCollide() {
var nodes,sizes,masses;
var strength = 1;
var iterations = 1;
var nodeCenterX;
var nodeMass;
var nodeCenterY;
function force() {
let yearAlbum = {};
let yearCount = new Map();
for (let i = 0; i < data.length; i++) {
for (let j = 0; j < data[i].bandAlbums.length; j++) {
if (!yearCount.has(data[i].bandAlbums[j].albumYear)) {
yearCount.set(`${data[i].bandAlbums[j].albumYear}`, 1)
} else {
yearCount.set(`${data[i].bandAlbums[j].albumYear}`, yearCount.get(`${data[i].bandAlbums[j].albumYear}`) + 1)
}