原创 猿輔導技術崗算法題總結

\quad現在大多數公司面試都要手撕算法題,這些是應試的東西,大家一定要提前準備,如果不準備肯定很難通過。如下是去年秋招猿輔導的算法題總結,供大家參考。 1.棧排序 2.鏈表實現隊列 3.最長連續遞增序列 4.最長不連續序列 5.

原创 快速計算數組中前n個數的均值和方差

一、問題背景 \quad給你一個數組x=[1,2,3,6]x=[1,2,3,6]x=[1,2,3,6],如何快速計算其前綴數組x[0⋯n]x[0\cdots n]x[0⋯n]的均值和方差,即需要返回均值數組m=[1,1.5,2,3

原创 python3實現無限次翻譯

\quad本博客會給讀者一個非常好用的翻譯接口,主要是針對大量文本翻譯,可以突破翻譯限制(指的是一個IP可以連續翻譯,不是指一次翻譯很多文本),筆者親測翻譯數千條推特無壓力。 \quad本翻譯腳本是使用的有道翻譯,需要你提前下載安

原创 Leetcode 20. 有效的括號 0ms通過

其實只需要做一個如下判斷:若剩下的串數量少於當前棧內元素數量,則不可能匹配成功,提前退出即可。 class Solution { public: bool isValid(string s) { if (

原创 Leetcode 43 字符串相乘

模擬大數乘法即可,先用res數組存放相乘後的數字結果,再統一處理進位並轉化爲字符串。需注意當某一方爲0時可直接輸出"0"退出。這種暴力解法都可以拿到獲得前98%。更高效的做法是用FFT,時間複雜度接近於O(nlogn),n爲字符串

原创 Leetcode883 三維形體投影面積 高效解法

左邊的投影面積爲每一行最大值之和,前面的投影面積爲每一列最大值之和,底部投影爲所有不爲0元素的個數。因此可在一次遍歷中將這些數據都統計出來。 class Solution { public: int projection

原创 數據挖掘課程作業代碼實現

一、課後習題2.4 1、求均值、中位數和標準差 age = [23, 23, 27, 27, 39, 41, 47, 49, 50, 52, 54, 54, 56, 57, 58, 58, 60, 61] fat = [9.5,

原创 矩陣的SVD分解及其實現

一、完美的對稱矩陣 \quad滿足A=ATA=A^TA=AT的矩陣爲對稱矩陣。有如下性質: 對稱矩陣的特徵值一定是實數 對稱矩陣的幾何重數等於代數重數 對稱矩陣一定有n個線性無關的特徵向量 對稱矩陣一定可以對角化 對稱矩陣可以正

原创 算法分析與設計——近似算法

一、近似算法的概念 1、爲啥要研究近似算法? \quad目前大規模的NPC問題我們無法通過計算得到,因此我們需要通過損失一部分精度的做法來找到多項式的近似算法。 2、近似算法精度的評價 \quad用近似算法得到的解與原問題的最優解

原创 快速驗證矩陣求MP廣義逆及最小范數解或最小二乘解是否正確

\quad設計了一個測試函數,傳入原矩陣AAA和其最大秩分解B,D,A=BDB,D,A=BDB,D,A=BD,列向量bbb。函數依次輸出以下內容 1、判斷當前給出的最大秩分解是否正確 2、給出AAA的M-P廣義逆A+A^+A+

原创 Leetcode周賽168 c++

1、統計位數爲偶數的數字 \quad統計每個數的位數再判斷下是否爲偶數位即可。 class Solution { public: int findNumbers(vector<int>& nums) {

原创 Java類——封裝

一、爲什麼要封裝? \quad封裝是面向對象的三大特徵之一(另外兩個是繼承和多態),它指的是將對象的狀態信息隱藏在對象內部,不允許外部程序直接訪問對象內部的信息,而是通過該類提供的方法來實現對內部信息的操作和訪問。 \quad比如

原创 Java類——類的組成成員、定義、創建和使用

一、定義類 \quad定義類的簡單語法如下: 在上面的語法格式中,修飾符可以是public和final中的一個,或者不要也可以。 類可以包含三種最常見的成員:構造器、屬性和方法,三種成員都可以定義0個或多個 類中各成員間可以相

原创 用networkx求圖的所有團

\quadpython的networkx庫提供了networkx.find_cliques(G)和network.find_cliques_recursive(G)兩種方法來求解圖的團問題。簡單的調用如下: import netw

原创 Leetcode周賽167

第一題直接模擬,第二題可以手動打表。 5285. 元素和小於等於閾值的正方形的最大邊長 \quad顯然,這是一個矩陣前綴和+二分。如果不用二分也能果,時間複雜度爲O(n3)=2.7∗107O(n^3)=2.7*10^7O(n3)