• Nov 19, 2022 •CodeCatch
0 likes • 11 views
const binarySearch = (arr, item) => { let l = 0, r = arr.length - 1; while (l <= r) { const mid = Math.floor((l + r) / 2); const guess = arr[mid]; if (guess === item) return mid; if (guess > item) r = mid - 1; else l = mid + 1; } return -1; }; binarySearch([1, 2, 3, 4, 5], 1); // 0 binarySearch([1, 2, 3, 4, 5], 5); // 4 binarySearch([1, 2, 3, 4, 5], 6); // -1
• Aug 13, 2023 •CAS
1 like • 5 views
function sortNumbers(arr) { return arr.slice().sort((a, b) => a - b); } const unsortedArray = [4, 1, 9, 6, 3, 5]; const sortedArray = sortNumbers(unsortedArray); console.log("Unsorted Numbers:", unsortedArray); console.log("\n"); console.log("Sorted Numbers:", sortedArray);
• Oct 9, 2023 •Helper
0 likes • 302 views
import React, { useState, useEffect } from 'react'; import Link from 'next/link'; export default function CookieBanner() { // Initialize with a default value (false if not previously set in localStorage) const [cookieConsent, setCookieConsent] = useState(() => localStorage.getItem('cookieConsent') === 'true' ? true : false ); useEffect(() => { const newCookieConsent = cookieConsent ? 'granted' : 'denied'; window.gtag('consent', 'update', { analytics_storage: newCookieConsent }); localStorage.setItem('cookieConsent', String(cookieConsent)); }, [cookieConsent]); return !cookieConsent && ( <div> <div> <p> We use cookies to enhance the user experience.{' '} <Link href='/privacy/'>View privacy policy</Link> </p> </div> <div> <button type="button" onClick={() => setCookieConsent(false)}>Decline</button> <button type="button" onClick={() => setCookieConsent(true)}>Allow</button> </div> </div> ) }
• Jan 26, 2023 •AustinLeath
0 likes • 7 views
function printHeap(heap, index, level) { if (index >= heap.length) { return; } console.log(" ".repeat(level) + heap[index]); printHeap(heap, 2 * index + 1, level + 1); printHeap(heap, 2 * index + 2, level + 1); } //You can call this function by passing in the heap array and the index of the root node, which is typically 0, and level = 0. let heap = [3, 8, 7, 15, 17, 30, 35, 2, 4, 5, 9]; printHeap(heap,0,0)
0 likes • 3 views
const compactObject = val => { const data = Array.isArray(val) ? val.filter(Boolean) : val; return Object.keys(data).reduce( (acc, key) => { const value = data[key]; if (Boolean(value)) acc[key] = typeof value === 'object' ? compactObject(value) : value; return acc; }, Array.isArray(val) ? [] : {} ); }; const obj = { a: null, b: false, c: true, d: 0, e: 1, f: '', g: 'a', h: [null, false, '', true, 1, 'a'], i: { j: 0, k: false, l: 'a' } }; compactObject(obj); // { c: true, e: 1, g: 'a', h: [ true, 1, 'a' ], i: { l: 'a' } }
• 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>