動態

@wuyagege

每日算法題--- 爬樓梯(利用JS實現)

假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢? 示例 1: 輸入:n = 2 輸出:2 解釋:有兩種方法可以爬到樓頂。 1. 1 階 + 1 階 2. 2 階 示例 2: 輸入:n = 3 輸出:3 解釋:有三種方法可以爬到樓頂。 1. 1 階 + 1 階 + 1 階 2. 1 階 + 2 階 3. 2 階 + 1 階

wuyagege 頭像

@wuyagege

昵稱 雲綺棠兮

@tinyang

js遞歸遍歷數組並判斷數組中的每一項如果都不為空則返回true,只要有一項為空則返回false

js遞歸遍歷數組並判斷數組中的每一項如果都不為空則返回true,只要有一項為空則返回false。一開始看到這樣的場景我就覺得很簡單沒難度,可真正上手才發現並不那麼簡單,而且想要讓代碼健壯就又複雜了些。於是經過一個小時的努力加不斷修改、增補,總算實現了自己想要的一個方法。 代碼如下: const isArrayEmpty = arr = { if (!Array.isArray(arr) ||

tinyang 頭像

@tinyang

昵稱 豫見世家公子

@jianer

多級數組Tree如何做搜索

兩種方案 1、數組打平,根據搜索字符在打平數組裏去filter出滿足條件的node節點,但此時被篩選的節點只有子節點,然後再通過被篩選出的子節點去找對應的父節點,然後拿到結果後轉成tree結構 優點:思路簡單,打平數組用了遞歸,好理解 缺點:找父節點的時候相對麻煩。 2、寫一個遞歸算法,滿足條件就返回tree 比如有一個簡單個tree const treeData = [ {

jianer 頭像

@jianer

昵稱 健兒

@aurora700

簡單遞歸

Let's be better ourselves together. 種一棵樹最好的時間是十年前,其次是現在。 如何用簡單遞歸實現指數型枚舉,組合型枚舉以及排列行枚舉? 思路:我們可以把這一類題目想象成,有n個排列在一起的一列格子,我們需要按一定順序來填這些格子。 以下為三道HZOJ的題目作為例子。 235. 遞歸實現指數型枚舉 題目描述 從 1−n 這 n 個整數中隨機選取任意多個,每種方

aurora700 頭像

@aurora700

昵稱 Aurora

@refanbanzhang

遞歸的幾種場景記錄

場景1:從樹中查找查找符合條件的節點(一個) const findNodeById = (nodes, id) = { // 遍歷當前層的所有數組元素 for (const node of nodes) { // 找到目標節點,直接返回,遞歸結束 if (node.id === id) { // 這裏會有兩種情況: // 1. 如果這裏不是在遞歸中,

refanbanzhang 頭像

@refanbanzhang

昵稱 熱飯班長

@kuangyedeshengdanshu

算法遞歸和分治

算法遞歸和分治 一、引言 在計算機科學中,遞歸(Recursion)和分治(Divide and Conquer)是兩種重要的算法設計策略。遞歸是一種自我調用的編程技巧,它允許函數直接或間接地調用自身來解決問題。而分治則是一種解決問題的策略,它將一個大問題分解成若干個小問題,遞歸地解決這些小問題,並將結果合併以得到原問題的解。本文將深入探討遞歸和分治的概念、應用以及如何通過示例代碼實現這兩種策略。

kuangyedeshengdanshu 頭像

@kuangyedeshengdanshu

昵稱 狂野的聖誕樹

@zijie1024

算法典型例題:N皇后問題,五種解法,逐步優化(遞歸版)

本文將介紹N皇后問題的五種解法,包括樸素回溯法、對稱優化、標記優化、可用優化、位運算優化,對於每種解題思路,提供相應的遞歸版代碼實現,最後將對每種解法進行測試,橫向對比每種解法的求解時間。 題目描述 在 N×N 格的國際象棋上擺放 N 個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行、同一列或同一斜線上,問有多少種擺法? 回溯法 解題思路 回溯法採用深度有限的搜索策略遍歷問題的解空間樹,可

zijie1024 頭像

@zijie1024

昵稱 字節幺零二四

@zijie1024

算法典型例題:N皇后問題,五種解法,逐步優化(非遞歸版)

本文將介紹N皇后問題的五種解法,包括樸素回溯法、對稱優化、標記優化、可用優化、位運算優化,對於每種解題思路,提供相應的非遞歸版代碼實現,最後將對每種解法進行測試,橫向對比每種解法的求解時間。 題目描述 在 N×N 格的國際象棋上擺放 N 個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行、同一列或同一斜線上,問有多少種擺法? 回溯法 解題思路 回溯法採用深度有限的搜索策略遍歷問題的解空間樹,

zijie1024 頭像

@zijie1024

昵稱 字節幺零二四

@openanolis

iofsstat:幫你輕鬆定位 IO 突高,前因後果一目瞭然 | 龍蜥技術

編者按:sysAK(system analyse kit),是龍蜥社區系統運維 SIG 下面的一個開源項目,聚集阿里百萬服務器的多年運維經驗,針對不同的運維需求提供了一系列工具,形成統一的產品進行服務。本文總結了實際工作中 IO 打滿、IO util 高問題的處理經驗,將它梳理成一套理論分析方法並形成 iofsstat 工具,集成到了sysAK 工具集裏。以下將由作者帶大家一道領略 iofssta

openanolis 頭像

@openanolis

昵稱 龍蜥社區

@wilburxu

Go Exec 殭屍與孤兒進程

原文地址:Go Exec 殭屍與孤兒進程 最近,使用 golang 去管理本地應用的生命週期,期間有幾個有趣的點,今天就一起看下。 場景一 我們來看看下面兩個腳本會產生什麼問題: 創建兩個 shell 腳本 start.sh #!/bin/sh sh sub.sh sub.sh #!/bin/sh n=0 while [ $n -le 100 ] do echo $n let

wilburxu 頭像

@wilburxu

昵稱 WilburXu

@fengkuangdejinju

瀏覽器的進程和線程

瀏覽器的進程和線程 前言   要理解瀏覽器的進程和線程,首先需要理解一句話:進程是CPU分配資源的最小單位,線程是CPU調度的最小單位。   應用程序在運行時,CPU會分配一塊可獨立運行的內存,即進程,他是應用程序運行的載體。進程一般由程序,數據集合和進程控制塊三部分組成。程序用於描述進程要完成的功能,是控制進程執行的指令集;數據集合是程序在執行時所需要的數據和工作區;程序控制塊包含進程的描述信息

fengkuangdejinju 頭像

@fengkuangdejinju

昵稱 瘋狂的金桔

@nishangliu

Docker 入門私人筆記(八)使用 Supervisor 管理容器多進程

Supervisor 是一個 C/S 模式的進程管理工具。它使用 Python 開發。支持 Linux/Unix 系統,不支持 Windows 系統。它的功能包含監聽、啓動、停止、重啓一個或多個進程。用 Supervisor 管理進程,當一個進程掛掉並且被 supervisort 監聽到之後,可以自動將它重新拉起,即做到進程自動恢復的功能,不再需要寫 shell 腳本來控制。 實戰:製作 supe

nishangliu 頭像

@nishangliu

昵稱 逆熵流

@xvrzhao

Linux 系統下如何將前台應用作為後台進程運行:nohup 與 & 命令的使用

COMMAND 形式 前台進程變為後台進程。 如果不指定輸出重定向(例如:COMMAND out.log 21 ),輸出仍然打印到前台。 退出 shell 會話(其父進程),進程會收到 HUP 信號,從而退出。 在另一個 shell 會話向進程發送 INT 信號,進程會退出。 總結:COMMAND 形式僅僅將前台進程放在後台運行,但進程輸出仍打印在前台。並且,進程不會忽略任何信號。

xvrzhao 頭像

@xvrzhao

昵稱 Xavier

@du_621d684f1bd04

每日一篇-7.30-進程調度算法

調度算法的意義 程序運行時,通常會有多個進程或線程同時競爭CPU,但是如果只有一個CPU可用,那就必須選擇下一個要運行的進程。在操作系統中完成選擇工作的一部分叫做調度程序。 但是進程也有區分, CPU密集型:大多時間在計算 IO密集型:大多時間在IO等待切換(由於現在CPU的性能提高 ,主要是IO密集型) 調度算法的目的就是為了保持系統所有部分儘可能忙碌。 主

du_621d684f1bd04 頭像

@du_621d684f1bd04

昵稱 渡7399

@chanmufeng

用「閃電俠」解釋一下進程和線程

1. 艾倫在一次粒子加速器爆炸大事故中獲得了極速移動的超能力,因此開始化身為超級英雄“閃電俠”。類比之下,CPU是計算機最核心的部件,它負責指令的讀取和執行,每秒可以執行幾十億條指令!其實比閃電俠還要快得多。 小閃這種能力很快就被FBI發現了,為了好好利用小閃,FBI僱傭了小閃為其特別行動小組A執行任務。 説是特別行動小組,其實除了小閃之外只有一個A博士,小閃日常的工作就是取得A博士的指令並且執

chanmufeng 頭像

@chanmufeng

昵稱 蟬沐風

@tosmile

深入瞭解現代網絡瀏覽器(第 1 部分)

前言 本文是進擊的大葱對Mario Kosaka寫的inside look at modern web browser系列文章的翻譯。這裏的翻譯不是指直譯,而是結合個人的理解將作者想表達的意思表達出來,而且會盡量補充一些相關的內容來幫助大家更好地理解。 CPU,GPU,內存和多進程架構 在本篇文章中,我將會從Chrome瀏覽器的高層次架構(high-level architecture)開始説起,

tosmile 頭像

@tosmile

昵稱 浪遏飛舟

@chang_lehung

進程最後的遺言

進程最後的遺言 前言 在本篇文章當中主要給大家介紹父子進程之間的關係,以及他們之間的交互以及可能造成的狀態,幫助大家深入理解父子進程之間的關係,以及他們之間的交互。 殭屍進程和孤兒進程 殭屍進程 在 Unix 操作系統和類 Unix 操作系統當中,當子進程退出的時候,父進程可以從子進程當中獲取子進程的退出信息,因此在 類 Unix 操作系統當中只有父進程通過 wait 系統調用讀取子進程的退出狀態

chang_lehung 頭像

@chang_lehung

昵稱 一無是處的研究僧

@tangbo_5f9242f233a7e

系統莫名崩潰:日常Runtime.exec()創建進程不管理的系統崩潰隱患

前言 Runtime.exec()創建用的過於頻繁,而進程有一套複雜的管理模式註定新啓的進程並不可以直接忽略不管。在執行常駐進程的時候必須對新建進程加以管理。生產環境過量資源的浪費、阻塞會導致程序卡死系統崩潰。 以下是本文創建進程的實踐: 複雜系統命令使用字符串數組傳遞參數 生產環境進程關閉標準輸入輸出、新建進程必須及時處理流的緩衝區。 java創建進程必須調用process.waitFo

@yangxiansheng_5a1b9b93a3a44

前端開發要學會如何查看端口占用並殺死

今天在啓動node服務的時候,發現端口被佔用 查詢端口 netstat -ano | findstr 7010 可以看到有個程序佔用着端口7010,它的進程號為23796 通過進程查看程序 tasklist | findstr 23796 殺死進程 taskkill -PID 23796 -F 任務管理器殺死進程 也可以通過任務管理器殺死指定的pid進程號

@yangge_5c6804373b5a0

js-while循環內使用定時函數的回調函數的問題

今天開發中碰到一個問題,卡了挺久的記錄一下。 標題其實正確表達為: js-while循環中不要使用定時函數中的回調函數中對循環條件的自變量進行自增或者自減,否則會導致進程假死。 首先 let i = 0; while(i 10){ i++; console.log(i) } 首先這個沒問題,正常打印1,2....10; let i = 0; let timer; while(i

@fsjohnhuang

Another Intro for Cookies

Cookies are strings of data that are stored directly in the browser. They are a part of HTTP protocol, defined by RFC 6265 specification. Cookies are often set by server using the response Set-Cookie

fsjohnhuang 頭像

@fsjohnhuang

昵稱 肥仔John

@api7

如何使用 Apache APISIX CSRF 安全插件攔截跨站點偽造攻擊

CSRF(Cross-Site Request Forgery),即跨站點請求偽造。發起跨站點請求偽造攻擊的關鍵點在於讓目標服務器無法分辨眾多請求的來源是真實用户還是攻擊者。攻擊的一般流程為:首先攻擊者會誘導用户導航至攻擊者提供的網頁上。該網頁包含一個自動發送到目標服務器的請求。然後該網頁正常加載,這個請求就會自動發送至服務器。在服務器看來,這個請求和用户正常發送的請求一模一樣,殊不知這是由攻擊者

api7 頭像

@api7

昵稱 API7_技術團隊

@qiuzhisijiaoniannian

最後一次,搞懂CSRF攻擊!

完整閲讀本文大約需要5分鐘。 開始閲讀之前,先上一道面試題: CSRF攻擊和XSS攻擊之間,有什麼聯繫? 什麼是CSRF攻擊 CSRF攻擊即Cross-site request forgery,跨站請求偽造,直白來説就是惡意網站偽裝成用户,向被害網站發起操作請求。 為了方便理解,做了一張圖,攻擊流程如下: 用户登錄受害網站,瀏覽器把獲取的身份憑證保存在本地cookie中; 用户被誘導打開黑

qiuzhisijiaoniannian 頭像

@qiuzhisijiaoniannian

昵稱 前端私教年年

@testerhome

安全測試之 CSRF 跨站點請求偽造

原文由發表於TesterHome社區,點擊原文鏈接可與作者直接交流。 ▌CSRF 攻擊 CSRF 跨站點請求偽造 (Cross—Site Request Forgery):大概可以理解為攻擊者盜用了你的身份,以你的名義在惡意網站發送惡意請求,對服務器來説這個請求是完全合法的,但是卻完成了攻擊者所期望的一個操作,比如以你的名義發送郵件、發消息,盜取你的賬號,甚至於購買商品、轉賬等。 例如:Web A

testerhome 頭像

@testerhome

昵稱 TesterHome