Skip to content

Instantly share code, notes, and snippets.

View esase's full-sized avatar

Alex Ermashev esase

View GitHub Profile
/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} head
* @return {ListNode}
/**
* @param {number} n
* @return {number}
*/
var climbStairs = function(n) {
if (n === 1) {
return 1;
}
let first = 1;
/**
* @param {character[]} s
* @return {void} Do not return anything, modify s in-place instead.
*/
var reverseString = function(s) {
const inputLength = s.length - 1;
const end = Math.floor(inputLength / 2);
for (let i = 0; i <= end; i++) {
[s[i], s[inputLength - i]] = [s[inputLength - i], s[i]];
/**
* Definition for a binary tree node.
* function TreeNode(val, left, right) {
* this.val = (val===undefined ? 0 : val)
* this.left = (left===undefined ? null : left)
* this.right = (right===undefined ? null : right)
* }
*/
/**
* @param {TreeNode} root
var kWeakestRows = function(mat, k) {
const soldierList = [];
for(let i = 0; i < mat.length; i++) {
let soldiers = 0;
for (j = 0; j < mat[i].length; j++) {
if (mat[i][j]) {
soldiers++;
}
}
/**
* @param {number} startValue
* @param {number} target
* @return {number}
*/
var brokenCalc = function(startValue, target) {
let steps = 0;
while (startValue < target) {
steps++;
@esase
esase / fib.js
Created March 22, 2022 06:02
Fibonacci numbers
function fib(value: number): number {
let first = 0;
let second = 1;
if (value <= 2) {
return value === 1 ? first : second;
}
let retValue = 0;
for (let i = 3; i <= value; i++) {
/**
* @param {string} a
* @param {string} b
* @return {string}
*/
var addBinary = function(a, b) {
console.log(BigInt("0b"+a, 2) + BigInt("0b"+b, 2));
// align strings
/**
* @param {number[]} digits
* @return {number[]}
*/
var plusOne = function(digits) {
let index = digits.length - 1;
while (index >= 0) {
if (digits[index] + 1 <= 9) {
digits[index] = digits[index] + 1;
/**
* @param {string} s
* @return {number}
*/
var lengthOfLastWord = function(s) {
let maxWordLength = 0;
let startCollecting = false;
for (let i = s.length - 1; i >= 0; i--) {
if (s[i] === ' ' && startCollecting) {