動態

@wswx

二分查找的通用模板

二分查找的概念本身很容易理解,這裏不做贅述。其使用前提只有一個:單調數組 樸素二分查找 當在一個有向數組中,查找數組中是否有某個值,代碼很簡單: const binarySearch = (nums, target) = { let l = 0; let r = nums.length - 1; while(l=r) { const mid = (l+r) 1 if(

wswx 頭像

@wswx

昵稱 goblin_pitcher

@wswx

數據結構算法小結

前言 解決問題思維方式 假設我們有一整套螺絲刀,要進行筆記本清灰操作,我們主要的思維邏輯如下: 若要清灰,必須先取出風扇 若要取出風扇,必須先把從外殼到風扇的螺絲全部拆下 那麼清灰問題就變成了拆一堆不同規格的螺絲,當我們看到不同規格的螺絲,就會比較螺絲口大小、形狀和螺絲刀規格,從而選取對應的螺絲刀。 可以看出,當我們遇到一個複雜問題,下意識的思維方式就是將一個複雜問題,轉移成我們熟知的一些

wswx 頭像

@wswx

昵稱 goblin_pitcher

@wswx

單調棧模板和適用範圍

刷力扣時,遇到關鍵詞:下一個更大/小的數這類題目時,往往會採用單調棧的解法,如每日温度 刷題最常見的問題就是,看到題解,感覺很精妙,但下次遇到一模一樣的題目時,往往知道思路,但寫不出代碼,有或者遇到類似的變體題目時,不會往這方面想。這兩種情況在之前的文章(數據結構算法小結)中提到過,分別有兩方面的原因: 對工具(如單調棧知識點)的特性(適用範圍)不明朗 對工具的原理沒有真正的理解 初學單調

wswx 頭像

@wswx

昵稱 goblin_pitcher

@xpoet

零基礎入門 JavaScript 算法

前言 提及算法,可能會有很多前端同學覺得這是一個距離自己日常工作較遠的領域,認為算法並沒有那麼重要。事實上,這種看法是片面的,算法不僅僅是計算機科學中的一個重要概念,在前端開發中也有着廣泛的應用和巨大的價值。 一個精心設計的算法可以大幅度提高應用的性能和效率,例如:如何在大量數據中快速找到指定信息、如何高效地處理用户輸入、如何在動畫效果中保持流暢的用户體驗、如何讓頁面加載更快、響應更靈敏等等場景,

xpoet 頭像

@xpoet

昵稱 XPoet

@chaochenyinshi

數據結構之美-深入理解樹形結構

一 認識樹形結構 樹形結構是一種廣泛應用的非線性數據結構,它在計算機科學和日常生活中都有廣泛的應用。比如文件系統,郵件系統,編譯器語法樹,決策樹,網絡通信,甚至機器學習當中,都有樹形數據結構的影子。本文旨在梳理日常用到的各類樹形結構以及其優點和劣勢,讓瀆者對樹形結構有一個深入的認知和了解。下面列舉幾類常見的樹形結構的應用場景。 1.1 文件系統 計算機中用於存儲和管理文件的一種系統,它使用樹形結構

chaochenyinshi 頭像

@chaochenyinshi

昵稱 用户bPdd2O9

@sfbc

小小算法,拿捏了🫴

如今,許多公司在招聘過程中越來越重視候選人的算法能力。無論是初創公司還是知名企業,筆試和麪試中幾乎都要經過算法和數據結構的考核。這不僅是為了評估候選人的編程能力,更是為了考查他們解決問題的思維方式。 即使你並不打算進入大公司,掌握算法依舊對你在 IT 行業的長期發展至關重要。算法不僅涉及編碼能力,它們還影響着系統設計、數據處理的效率和優化。隨着項目的複雜性增加,算法知識的重要性將愈加突出。 那麼,

sfbc 頭像

@sfbc

昵稱 思否編程

@howiecong

刷題前必學!數組!用JavaScript學數據結構與算法

🧑‍💻JavaScript數據結構與算法-HowieCong 務必要熟悉JavaScript使用再來學! 數組 在 JavaScript 中,數組是一種特殊的對象,用於存儲多個值的有序集合 1. 數組的創建 // 方括號+元素內容 const arr = [1,2,3] // 構造函數,等價於 const arr = [] const arr = new Array();

howiecong 頭像

@howiecong

昵稱 HowieCong

@howiecong

刷題前必學!棧與隊列!用JavaScript學數據結構與算法

🧑‍💻JavaScript數據結構與算法-HowieCong 務必要熟悉JavaScript使用再來學! 一、數組增刪操作 在瞭解棧和隊列前,明確數組中的增刪操作具有什麼樣的特性、對應的方法有哪些: 靈活增刪的數組 數組增加元素的三種方法: unshift方法,添加元素到數組的頭部

howiecong 頭像

@howiecong

昵稱 HowieCong

@howiecong

刷題前必學!鏈表!用JavaScript學數據結構與算法

🧑‍💻JavaScript數據結構與算法-HowieCong 務必要熟悉JavaScript使用再來學! 一、鏈表的基本形態 鏈表和數組都是有序的列表,都是線性結構(有且僅有一個前驅,有且僅有一個後續);不同點在於,鏈表中,數據單位的名稱叫做“結點”,而結點和結點的分佈,在內存中都是離散的 1. 數組的“連續” 在內存中最為關鍵的一個特徵,就是對應一段位於自身上界和下界之間的,一段連

howiecong 頭像

@howiecong

昵稱 HowieCong

@howiecong

刷題前必學!二叉樹!用JavaScript學數據結構與算法

🧑‍💻JavaScript算法與數據結構-HowieCong 務必要熟悉JavaScript使用再來學! 一、樹是什麼? 數據結構中的樹,對於現實世界中的樹簡化——樹根抽象為“根節點”,樹枝抽象為“邊”,樹枝的兩個端點抽象為“結點”,樹葉抽象為“葉子結點” 計算機中的樹如下: 二、樹的重點 樹的層次計算規則:根結點所在的那一層為第一層,其子節點為第二層,以此類推 結點和樹

howiecong 頭像

@howiecong

昵稱 HowieCong

@howiecong

刷題前必學!二叉樹的遍歷!用JavaScript學數據結構與算法

🧑‍💻JavaScript算法與數據結構-HowieCong 務必要熟悉JavaScript使用再來學! 一、遍歷的方式 按照順序規則的不同,遍歷方式有如下四種: 先序遍歷 中序遍歷 後序遍歷 層次遍歷 按照實現方式的不同,遍歷方式又可以分為以下兩種: 遞歸遍歷(先,中,後序遍歷) 迭代遍歷(層次遍歷) 二

howiecong 頭像

@howiecong

昵稱 HowieCong

@howiecong

刷題前必學!時間複雜度和空間複雜度!用JavaScript學數據結構與算法

🧑‍💻JavaScript算法與數據結構-HowieCong 務必要熟悉JavaScript使用再來學! 一、時間複雜度 (1)下面代碼,一共執行了幾次? function traverse(arr){ // 最沒有懸念的是函數裏面的第一行代碼,只會被執行1次 var len = arr.length // 1. i的初始化語句,只有一次,只會被執行1次 //

howiecong 頭像

@howiecong

昵稱 HowieCong

@howiecong

刷題前必學!數組實戰-雙指針!用JavaScript學數據結構與算法

🧑‍💻JavaScript算法與數據結構-HowieCong 務必要熟悉JavaScript使用再來學! 一、兩數求和——Map 原題: 給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和為目標值的那 兩個 整數,並返回他們的數組下標。你可以假設每種輸入只會對應一個答案。但是,你不能重複利用這個數組中同樣的元素。 示例: 給定 nums = [2, 7, 1

howiecong 頭像

@howiecong

昵稱 HowieCong

@howiecong

刷題前必學!鏈表實戰!用JavaScript學數據結構與算法

🧑‍💻JavaScript算法與數據結構-HowieCong 務必要熟悉JavaScript使用再來學! 一、鏈表三種方向 鏈表的處理:合併、刪除等(刪除操作畫個記號) 鏈表的反轉及其衍生題目 鏈表成環問題及其衍生題目 二、鏈表的合併 原題: 將兩個有序鏈表合併為一個新的有序鏈表並返回。新鏈表是通過拼接給定的兩個鏈表的所有結點組成的。 示例: 輸入:1-2-4, 1-3-4

howiecong 頭像

@howiecong

昵稱 HowieCong

@weidelanqiu

2025 年熱門 CRM 軟件:10 款首選產品

2025年熱門CRM軟件:10款首選產品 在數字化浪潮的推動下,CRM軟件已成為企業提升客户滿意度和推動增長的關鍵工具。CRM的選擇對業務績效具有至關重要的影響,因此瞭解最新趨勢和市場最佳選擇是每個企業必須重視的工作。本文將為您呈現2025年市場上十大熱門CRM軟件,助您找到最適合的解決方案。 Zoho CRM Zoho CRM憑藉其靈活性和豐富的功能集在全球範圍內廣受歡迎。它提供了

weidelanqiu 頭像

@weidelanqiu

昵稱 下一個絕世

@xboxyan

快速瞭解 inert 屬性

歡迎關注我的公眾號:前端偵探 介紹一個全新的、和用户行為息息相關的屬性:inert。 HTMLElement.inert - Web APIs | MDN (mozilla.org) 有了這個屬性,可以更加輕易地控制很多交互行為,花幾分鐘瞭解一下吧 一、inert 是什麼? inert是 HTMLElement 的一個布爾屬性,意為"惰性",簡單來説,可以禁用一切交互,包括鼠標點擊、選中、拖

xboxyan 頭像

@xboxyan

昵稱 XboxYan

@zzd41

瀏覽器工作原理

瀏覽器(也稱為網絡瀏覽器或互聯網瀏覽器)是安裝在我們設備上的軟件應用程序,使我們能夠訪問萬維網。在閲讀這篇文字時,你實際上正在使用一個瀏覽器。 有許多瀏覽器正在被使用,截至2022年,使用最多的是:谷歌瀏覽器、蘋果的Safari、微軟的Edge和火狐。 但是,它們實際上是如何工作的,從我們在地址欄中鍵入網絡地址開始,到我們試圖訪問的頁面顯示在屏幕上,會發生什麼? 關於這個問題的答案,一個極其簡化的

zzd41 頭像

@zzd41

昵稱 superZidan

@bianchengshijie

DOM動畫效果怎麼做

JavaScript 是世界上最流行的腳本語言。 JavaScript 是屬於 web 的語言,它適用於 PC、筆記本電腦、平板電腦和移動電話。 JavaScript 被設計為向 HTML 頁面增加交互性。 許多 HTML 開發者都不是程序員,但是 JavaScript 卻擁有非常簡單的語法。幾乎每個人都有能力將小的 JavaScript 片段添加到網頁中。下面給大家分享下JavaScript教程

bianchengshijie 頭像

@bianchengshijie

昵稱 編程世界

@alijishu

學習HTML DOM筆記

HTML DOM 簡介 HTML DOM 定義了訪問和操作 HTML 文檔的標準。 什麼是 DOM? DOM 是 W3C(萬維網聯盟)的標準。 DOM 定義了訪問 HTML 和 XML 文檔的標準: "W3C 文檔對象模型 (DOM) 是中立於平台和語言的接口,它允許程序和腳本動態地訪問和更新文檔的內容、結構和樣式。" W3C DOM 標準被分為 3 個不同的部分: • 核心 D

alijishu 頭像

@alijishu

昵稱 阿里雲開發者

@musicfe

社交直播遊戲場景前端解決方案專欄(一):關於Alice.js的起點

本文作者:QHC 前言: 長久以來,傳統前端的工作大多時候在與DOM打交道,近年來,瀏覽器廠商也在不斷努力提高DOM渲染性能,以提高用户體驗。但是更多複雜場景的出現,例如近幾年隨着在線直播、社交娛樂、各種小遊戲的火爆,前端性能的關注度持續提高。特別是遊戲場景,而我們團隊也面臨着一大波h5遊戲化場景,那麼這個系列文章,將帶讀者朋友們一起了解,雲音樂社交直播業務的遊戲化場景解決方案的整體思路與落地案例

musicfe 頭像

@musicfe

昵稱 雲音樂技術團隊

@momo707577045

純js、v-for、vue函數式組件、vue普通組件性能對比

先説結論 dom 節點數量對內存影響沒想象中大,js 變量才是內存佔用的元兇 內存佔用及運行性能對比:原生 js v-for div ≈ v-for 函數式組件 v-for 普通組件 去虛擬 dom 化框架正在崛起,成為一種新的選擇 dom 節點數量對內存影響沒想象中大(十萬 div 僅佔用 400mb) 測試示例 生成 100,000(十萬)個 div,內存佔用僅

momo707577045 頭像

@momo707577045

昵稱 momo707577045

@zzd41

React 18 如何提升應用性能

hello 大家好,我是 superZidan,這篇文章想跟大家聊聊 React 18 如何提升應用性能 這個話題,如果大家遇到任何問題,歡迎 聯繫我 React 18 引入了併發功能,從根本上改變了 React 應用程序的渲染方式。 我們將探討這些最新功能如何影響和提高應用程序的性能 首先,讓我們退一步來了解長任務的基礎知識和相應的性能測量 主線程和長任務 當我們在瀏覽器運行 JavaScrip

zzd41 頭像

@zzd41

昵稱 superZidan