原创 PAT 1138 Postorder Traversal (25分)

題意 已知前序中序求後序第一個數字,遞歸就完事兒。 代碼 #include <iostream> #include <cstdio> #include <algorithm> #define MAX 50010 using na

原创 PAT 1135 Is It A Red-Black Tree (30 分)

題目鏈接 絕對的菜雞了,看到二叉樹只會先遞歸重建。。。搞了半天過一個樣例,15分。哭了。只好去看看柳神的題解 學習了學習了。 代碼 #include <iostream> #include <vector> #include <

原创 leetcode 每日一題 69.x的平方根(二分+迭代)

思路 求平方根的方法主要有二分法和數學上的迭代法,迭代公式An+1 = (An+x/An)/2 二分法 注意細節 class Solution { public: int mySqrt(int x) {

原创 PAT 1131 Subway Map (30分)(bfs+dfs回溯)

題目鏈接 bfs+dfs回溯 bfs求最短路長度+dfs回溯求到路徑 那麼爲什麼不直接用dfs回溯呢?因爲我最開始沒仔細讀題,沒想到站點數可能是相同的,還需要求到最少換乘,然後用的bfs,發現解決不了。。。又用一個dfs回溯求路徑

原创 Java註解學習小記

第一次接觸java反射、註解等相關知識,放一些重點於博客以供記錄。 FieldAnnotation.java package com.cqu.annotation; import java.lang.annotation.Ele

原创 leetcode周賽 (2020/05/10)

1. 用棧操作構建數組 class Solution { public: vector<string> buildArray(vector<int>& target, int n) { stack<int

原创 數論(未完待續)

數論 素數: 素數篩法 埃氏篩法 歐拉篩法: 儘管Eratosthenes 篩法已經比較快了,但是它任然做了很多冗餘的運算,比如說6就會重複被2和3剔除兩次。而歐拉篩法則避免了這個問題,它保證了每一個合數只會被它最小的那個因子剔除

原创 leetcode每日一題983. 最低票價(動態規劃)

思路 不是很難的動態規劃,但是最開始一些邊界條件沒考慮到,WA了好幾次,然後面向測試用例debug。 設dp[i]爲前i天(含)旅遊花費的最小金額。 dp[i] = min{dp[i-1] + costs[0], dp[i-7]

原创 PAT 1126 Eulerian Path (25分)(歐拉路徑)

#include <iostream> #include <cstdio> #include <cstring> using namespace std; int N,M; int graph[510][510]; int gr

原创 線段樹(未完待續)

線段樹 線段樹的基本實現 int Sum[MAX]; int A[MAX]; int Add[MAX]; //Add爲懶惰標記 void Build(int l,int r,int rt) { if(l==r)

原创 leetcode每日一題 572.另一個樹的子樹

思路 遞歸的方法。如果節點相等則判斷子樹是否相等,如果相等則返回true,反之返回false。如果節點不等,則查找其左子樹和右子樹,直到找到相等的節點。 代碼 class Solution { public: bool

原创 組合數學總結(轉載)

原文鏈接 目錄 排列 1.1不可重排列 1.2可重排列 1.3圓排列 1.4不盡相異元素全排列 1.5多重集的排列 組合 2.1不可重組合數 2.2可重組合 2.3不相鄰組合 2.4多重集的組合 2.5常用組合數公式 2.

原创 PAT 1108 Finding Average (20分)

很簡單的字符串處理 注意: 只有一個合法數字時輸出“number”而不是“numbers” .12, 12.是合法的 #include <iostream> #include <cstring> #include <cstdio

原创 面試題 16.06. 最小差 (雙指針)

先排序,然後應用雙指針逼近。代碼很簡單,重要的是需要擁有這種算法的思想。 class Solution { public: int smallestDifference(vector<int>& a, vector<in

原创 PAT 1122 Hamiltonian Cycle (25分)(哈密頓迴路)

哈密頓通路: 通過圖中每個點且只通過一次,並且經過每一頂點的通路。 哈密頓迴路: 通過圖中每個點且只通過一次,並且經過每一頂點的迴路。 這題沒什麼意思吧。。。。這題可是PAT的第三題(不過這套題的第四題是判斷是否爲AVL樹,沒練