Skip to main content

retryPromise.ts

Oct 20, 2023LeifMessinger
Loading...

More TypeScript Posts

Depth-First Search in TypeScript

Sep 19, 2024Sam-C137

0 likes • 2 views

class DFS
{
public dfs(G: DFSGraph, startVert: number)
{
let visited: boolean[] = Array<boolean>();
// Pre-populate array:
for(let i = 0; i < G.size; i++)
{
visited.push(false);
}
let s: number[] = new Array();
visited[startVert] = true;
s.push(startVert);
while(s.length > 0)
{
const v = s.pop();
for(let adjV of G.adj[v])
{
if(!visited[adjV])
{
visited[adjV] = true;
s.push(adjV);
}
}
}
}
public dfsRecursive(G: DFSGraph, startVert: number)
{
let visited: boolean[] = Array<boolean>();
// Pre-populate array:
for(let i = 0; i < G.size; i++)
{
visited.push(false);
}
this.dfsAux(G, startVert, visited);
}
private dfsAux(G: DFSGraph, v: number, visited: boolean[])
{
visited[v] = true;
for(let adjV of G.adj[v])
{
if(!visited[adjV])
{
// this.foo(); // Something can happen before the visit.
this.dfsAux(G, adjV, visited);
// this.bar(); // Something can happen after the visit.
}
}
}
}

Header Typography MUI

May 11, 2025C S

0 likes • 3 views

// theme.ts
import { createTheme } from '@mui/material/styles';
const theme = createTheme({
typography: {
h1: {
fontSize: '2rem',
fontWeight: 700,
lineHeight: 1.3
},
h2: {
fontSize: '1.625rem',
fontWeight: 700,
lineHeight: 1.35
},
h3: {
fontSize: '1.375rem',
fontWeight: 700,
lineHeight: 1.4
},
h4: {
fontSize: '1.125rem',
fontWeight: 700,
lineHeight: 1.45
},
h5: {
fontSize: '1rem',
fontWeight: 700,
lineHeight: 1.5
},
h6: {
fontSize: '0.875rem',
fontWeight: 700,
lineHeight: 1.5
},
},
});

LeetCode - Remove Element

Oct 22, 2024C S

0 likes • 2 views

function removeElement(nums: number[], val: number): number {
let zeroStartIndex = 0;
for(let i = 0; i < nums.length; i++) {
if(nums[i] !== val) {
nums[zeroStartIndex] = nums[i];
zeroStartIndex++;
}
}
return zeroStartIndex;
};

LeetCode - Search Insert Position

Oct 22, 2024C S

0 likes • 6 views

function binarySearch(nums: number[], target: number): number {
let left = 0;
let right = nums.length - 1;
while (left <= right) {
const mid = left + Math.floor((right - left) / 2);
if (nums[mid] === target) {
return mid;
} else if (nums[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return left;
}
function searchInsert(nums: number[], target: number): number {
return binarySearch(nums, target);
};

class based task manager

Jun 1, 2023CodeCatch

0 likes • 5 views

interface Task {
id: number;
title: string;
completed: boolean;
}
class TaskManager {
private tasks: Task[] = [];
constructor() {}
addTask(title: string) {
const taskId = this.tasks.length + 1;
const task: Task = {
id: taskId,
title,
completed: false,
};
this.tasks.push(task);
}
markTaskAsComplete(taskId: number) {
const task = this.tasks.find((task) => task.id === taskId);
if (task) {
task.completed = true;
}
}
markTaskAsIncomplete(taskId: number) {
const task = this.tasks.find((task) => task.id === taskId);
if (task) {
task.completed = false;
}
}
listTasks() {
console.log('Tasks:');
this.tasks.forEach((task) => {
console.log(`${task.id}. [${task.completed ? 'X' : ' '}] ${task.title}`);
});
}
}
// Example usage:
const taskManager = new TaskManager();
taskManager.addTask('Buy groceries');
taskManager.addTask('Pay bills');
taskManager.addTask('Clean the house');
taskManager.listTasks();
// Output:
// Tasks:
// 1. [ ] Buy groceries
// 2. [ ] Pay bills
// 3. [ ] Clean the house
function removeDuplicates(nums: number[]): number {
nums.splice(0, nums.length, ...Array.from(new Set(nums)));
return nums.length;
};
console.log(removeDuplicates([1, 2, 3, 4, 5, 6]))