Skip to content

Instantly share code, notes, and snippets.

View toantd90's full-sized avatar
🎯
Focusing

Toan Tran toantd90

🎯
Focusing
View GitHub Profile
function upperBound(arr, start, end, value) {
while (start <= end) {
const mid = start + Math.floor((end - start) / 2);
if (arr[mid] > value) {
end = mid - 1;
} else {
start = mid + 1;
}
}
class DSU {
constructor(n) {
this.ranks = [];
this.parent = [];
for (let i = 0; i < n; i++) {
this.ranks[i] = 0;
this.parent[i] = i;
}
function lowerBound(arr, start, end, value) {
while (start < end) {
const mid = start + Math.floor((end - start) / 2)
if (arr[mid] < value) {
start = mid + 1
} else {
end = mid
}
}
/**
* @param {character[][]} board
* @param {number[]} click
* @return {character[][]}
*/
var updateBoard = function(board, click) {
const clickL = click[0], clickR = click[1];
if (board[clickL][clickR] === 'M') {
board[clickL][clickR] = 'X';
return board;
/**
* @param {string} s
* @param {string} t
* @return {boolean}
*/
var isSubsequence = function(s, t) {
const len = s.length;
if (len === 0) return true;
let sIndex = 0;
/**
* @param {string} s
* @return {number}
*/
const romanToInt = function(s) {
const map = {
'I': 1,
'V': 5,
'X': 10,
'L': 50,