Skip to content

Instantly share code, notes, and snippets.

View MohammedALREAI's full-sized avatar
😉
I may be slow to respond.

Mohammed Al-Reai MohammedALREAI

😉
I may be slow to respond.
View GitHub Profile
@MohammedALREAI
MohammedALREAI / DatabaseService.ts
Created March 16, 2021 09:13
DatabaseService connection with typescript and mongoose
import config, { IConfig } from 'config';
import mongoose, { Mongoose } from 'mongoose';
import {EventEmitter} from"events"
const dbConfig: IConfig = config.get('App.database');
import Logger from'./lib/logger'
class DatabaseService {
public static emitter: EventEmitter = new EventEmitter();
@MohammedALREAI
MohammedALREAI / isPalindrome.ts
Created March 10, 2021 10:16
234. Palindrome Linked List leetcode
/**
* Definition for singly-linked list.
* class ListNode {
* val: number
* next: ListNode | null
* constructor(val?: number, next?: ListNode | null) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
* }
@MohammedALREAI
MohammedALREAI / removeElements.ts
Created March 7, 2021 18:24
removeElements leetcode
/**
* Definition for singly-linked list.
* class ListNode {
* val: number
* next: ListNode | null
* constructor(val?: number, next?: ListNode | null) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
* }
@MohammedALREAI
MohammedALREAI / postorderTraversal.ts
Created March 6, 2021 12:10
145. Binary Tree Postorder Traversal leetcode typescript
/**
* Definition for a binary tree node.
* class TreeNode {
* val: number
* left: TreeNode | null
* right: TreeNode | null
* constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
* this.val = (val===undefined ? 0 : val)
* this.left = (left===undefined ? null : left)
* this.right = (right===undefined ? null : right)
@MohammedALREAI
MohammedALREAI / singleNumber.ts
Created March 5, 2021 15:12
137. Single Number II leetcode
function singleNumber(nums: number[]):number {
let map=new Map<number,number>()
for (const num of nums) {
if (map.has(num)) {
const nextCount = map.get(num) as number + 1
if (nextCount === 3) {
map.delete(num)
} else {
map.set(num, nextCount)
}
@MohammedALREAI
MohammedALREAI / singleNumber.ts
Created March 5, 2021 14:10
136. Single Number leetcode
function singleNumber(nums: number[]) {
let set= new Set<number>();
for(let i of nums){
if(set.has(i)){
set.delete(i);
}else{
set.add(i);
}
}
@MohammedALREAI
MohammedALREAI / isSameTree.ts
Created March 5, 2021 13:36
100. Same Tree leetcode
// /
// Definition for a binary tree node.
class TreeNode {
val: number
left: TreeNode | null
right: TreeNode | null
constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
this.val = (val===undefined ? 0 : val)
this.left = (left===undefined ? null : left)
this.right = (right===undefined ? null : right)
@MohammedALREAI
MohammedALREAI / rotateImage.ts
Created February 28, 2021 12:03
rotateImage leetcode and codesignal
function rotateImage(a: number[][]): number[][] {
swap(a)
reflext90(a)
return a
}
function swap(a:number[][]):void{
let row=a.length;
let col=a[0].length;
for(let i = 0; i < row; i ++) {
@MohammedALREAI
MohammedALREAI / firstDuplicate.ts
Created February 28, 2021 11:25
firstDuplicate google
function firstDuplicate(a: number[]=[2, 1, 3, 5, 3, 2]): number {
let set = new Set()
for (let e of a){
if (set.has(e))
return e
else
set.add(e)
}
@MohammedALREAI
MohammedALREAI / firstNotRepeatingCharacter.ts
Created February 28, 2021 11:24
firstNotRepeatingCharacter typescript
interface Imap{
[key:string]:number
}
function firstNotRepeatingCharacter(s: string="abacabad"): string {
let map:Imap ={}
for (let e of s){
if(e in map){