原创 第9題 迴文數

第9題 迴文數 解法一:數字轉化爲字符串,驗證是否是迴文 代碼:class Solution: def isPalindrome(self,x:int)->bool: return (str(x)=

原创 第100題 相同的樹——樹的前序遞歸遍歷

二叉樹數據結構定義 struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x) : val(x), lef

原创 關於王道機試指南習題11.6(牛客網考研真題) 上海交通大學複試上機題解:最短路徑

關於王道機試指南習題11.6 上海交通大學複試上機題解:最短路徑 之前存在的問題:當專門爲大數定義一個結構體時,那麼在新的結構體內無法利用大數的結構體內已經重定義的運算符; 兩個思路: 思路一: 以字符串存儲大數,如此在Ed

原创 爲什麼貪心策略不能用於解決0-1揹包問題?

新人求贊啊!(●'◡'●) 一般會使用的貪婪準則:價值vi,質量wi,每一項計算ri=vi/wi,即價值和質量之比,再按比值的降序來排序,從第一項開始裝揹包,然後是第二項,依次類推,儘可能的多放,直到裝滿揹包。 反例:這種策略並

原创 《王道機試指南》刷題總結

《王道機試指南》刷題總結第一章(略)第二章 暴力求解第三章 排序與查找第四章 字符串第五章 數據結構一第六章 數學問題第七章 貪心策略第八章 遞歸與分冶第九章 BFS和DFS(略)第十章 數據結構二第十一章 圖論第十二章 動態規劃

原创 北京大學複試上機 墜落的螞蟻(牛客網)王道機試指南習題2.11

思路解析: 兩個問題: 1.滿足什麼樣的條件最初中間靜止的螞蟻不會掉下去? 2. 如果會掉下去,那麼會在什麼時候掉下去,數學條件是什麼? 兩個推論: 此題不考慮過程,什麼時刻哪隻螞蟻具體在哪兒由哪個方向到此不作過程分析,只做宏

原创 機試用到的數學知識和技巧

裴蜀定理:說明了對於任何整數a,b和他們的最大公約數d=gcd(a,b),關於未知數x,y的線性不定方程。即若a,b是整數,且d=gcd(a,b),那麼對於任意整數x,y,ax+by都一定是d的倍數。由此可知,一定存在x,y,

原创 上海交大2019考研機試第一題:以時間複雜度爲nlogn的算法解決最長公共子序列(LCS)問題

給出兩個數字序列,求最長公共子序列(LCS)。 保證一個序列中所有元素都不重複,第一行給定一個n 爲序列的長度,第二第三行爲兩個序列。 其中 60% 的用例 n<=1000,所有用例保證 n<= 1000000 Sample

原创 動態規劃:最長遞增子序列問題(LIS)的時間複雜度由O(n^2)降低爲O(nlogn)的改良算法的自我理解

問題:原算法的時間複雜度爲n^2,如何降低其時間複雜度? 着眼點:原算法在計算每一個dp[i]時都需要將前序所有dp[i]遍歷一遍才能獲得當前的dp[i],如何減少這種遍歷? 解決方法: 本算法原理:在原算法中,每接觸到一個

原创 關於結構體內嵌比較函數後,sort排序和優先隊列內元素的順序

關於結構體內嵌比較函數後的排序規則,見如下代碼註釋 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <qu