• Apr 14, 2023 •Helper
0 likes • 10 views
const quickSort = arr => { const a = [...arr]; if (a.length < 2) return a; const pivotIndex = Math.floor(arr.length / 2); const pivot = a[pivotIndex]; const [lo, hi] = a.reduce( (acc, val, i) => { if (val < pivot || (val === pivot && i != pivotIndex)) { acc[0].push(val); } else if (val > pivot) { acc[1].push(val); } return acc; }, [[], []] ); return [...quickSort(lo), pivot, ...quickSort(hi)]; }; console.log(quickSort([1, 6, 1, 5, 3, 2, 1, 4])) // [1, 1, 1, 2, 3, 4, 5, 6]
• Jan 5, 2026 •C S
0 likes • 18 views
<div className="md:self-start sticky top-16 bg-background px-4 mt-1 sm:px-6 md:pt-4 lg:pl-8 lg:pr-4"> <ScrollArea className="whitespace-nowrap"> <div className="w-max flex md:flex-col gap-1 bg-transparent text-muted-foreground pb-2"> {menuData.map((section) => ( <Button key={section.title} onClick={() => handleScrollToSection(section.title)} variant="ghost" size="sm" className={cn( 'w-auto md:w-full hover:cursor-pointer relative md:justify-end', activeSection === section.title ? cn( 'text-foreground after:absolute after:bottom-[-2px] after:bottom-0 after:w-full after:h-[2px] after:bg-primary', 'md:after:right-[-2px] md:after:top-0 md:after:h-full md:after:w-[2px]', ) : '', )} > {section.title} </Button> ))} </div> <ScrollBar orientation="horizontal" /> </ScrollArea> </div>
• Apr 10, 2025 •hasnaoui1
0 likes • 12 views
const express = require('express') const mongoose = require('mongoose') const cors = require('cors') const dotenv = require('dotenv') const server = express() dotenv.config() server.use(express.json()) server.get('/' , (req , res)=>{ res.send('Hello') }) //4.lancement du serveur server.listen(process.env.PORT , ()=>{ console.log('server run on http://localhost:'+process.env.PORT) })
• Nov 19, 2022 •CodeCatch
0 likes • 3 views
// `arr` is an array const clone = arr => arr.slice(0); // Or const clone = arr => [...arr]; // Or const clone = arr => Array.from(arr); // Or const clone = arr => arr.map(x => x); // Or const clone = arr => JSON.parse(JSON.stringify(arr)); // Or const clone = arr => arr.concat([]);
0 likes • 1 view
const binomialCoefficient = (n, k) => { if (Number.isNaN(n) || Number.isNaN(k)) return NaN; if (k < 0 || k > n) return 0; if (k === 0 || k === n) return 1; if (k === 1 || k === n - 1) return n; if (n - k < k) k = n - k; let res = n; for (let j = 2; j <= k; j++) res *= (n - j + 1) / j; return Math.round(res); }; binomialCoefficient(8, 2); // 28
1 like • 1 view
class DoublyLinkedList { constructor() { this.nodes = []; } get size() { return this.nodes.length; } get head() { return this.size ? this.nodes[0] : null; } get tail() { return this.size ? this.nodes[this.size - 1] : null; } insertAt(index, value) { const previousNode = this.nodes[index - 1] || null; const nextNode = this.nodes[index] || null; const node = { value, next: nextNode, previous: previousNode }; if (previousNode) previousNode.next = node; if (nextNode) nextNode.previous = node; this.nodes.splice(index, 0, node); } insertFirst(value) { this.insertAt(0, value); } insertLast(value) { this.insertAt(this.size, value); } getAt(index) { return this.nodes[index]; } removeAt(index) { const previousNode = this.nodes[index - 1] || null; const nextNode = this.nodes[index + 1] || null; if (previousNode) previousNode.next = nextNode; if (nextNode) nextNode.previous = previousNode; return this.nodes.splice(index, 1); } clear() { this.nodes = []; } reverse() { this.nodes = this.nodes.reduce((acc, { value }) => { const nextNode = acc[0] || null; const node = { value, next: nextNode, previous: null }; if (nextNode) nextNode.previous = node; return [node, ...acc]; }, []); } *[Symbol.iterator]() { yield* this.nodes; } } const list = new DoublyLinkedList(); list.insertFirst(1); list.insertFirst(2); list.insertFirst(3); list.insertLast(4); list.insertAt(3, 5); list.size; // 5 list.head.value; // 3 list.head.next.value; // 2 list.tail.value; // 4 list.tail.previous.value; // 5 [...list.map(e => e.value)]; // [3, 2, 1, 5, 4] list.removeAt(1); // 2 list.getAt(1).value; // 1 list.head.next.value; // 1 [...list.map(e => e.value)]; // [3, 1, 5, 4] list.reverse(); [...list.map(e => e.value)]; // [4, 5, 1, 3] list.clear(); list.size; // 0