原创 遞歸應用-根據遍歷順序構造二叉樹

已知前序遍歷和中序遍歷,可以構造唯一二叉樹 同樣,已知後序和中序遍歷,可以構造唯一二叉樹 但是已知前序和後序,並不能構造唯一二叉樹,因爲對於單個子節點無法確定到底是左子樹還是右子樹 已知前序中序 Leetcode publ

原创 快排應用-第k大元素

在未排序的數組中找到第 k 個最大的元素。請注意,你需要找的是數組排序後的第 k 個最大的元素,而不是第 k 個不同的元素。 leetcode public int findKthLargest(int[] nums, i

原创 遞歸應用-鏈表快速排序

在 O(n log n) 時間複雜度和常數級空間複雜度下,對鏈表進行排序。 leetcode public ListNode quickSortList(ListNode head) { if (head =

原创 hymp惠電影小程序

hymp 惠電影小程序 掃描體驗 mp核心功能分成三個Tab頁: 電影列表,顯示正在熱映和即將上映的電影 影院列表,根據用戶的位置由近及遠顯示影院列表 個人中心,用戶推薦、反饋入口 電影列表 電影列表包含頭部和主體兩部分,頭

原创 遞歸應用-回溯生成括號對

遞歸可以理解爲深度優先遍歷窮舉+回溯剪枝 leetcode class Solution { public List<String> generateParenthesis(int n) { List<St

原创 相對路徑轉換成絕對路徑

根據Linux相對路徑生成絕對路徑 leetcode public String simplifyPath(String path) { String[] a = path.split("/");

原创 動態規劃-不同路徑

一個機器人位於一個 m x n 網格的左上角 (起始點在下圖中標記爲“Start” )。 機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角(在下圖中標記爲“Finish”)。 問總共有多少條不同的路徑? leetco

原创 遞歸&動態規劃-解碼方法

一條包含字母 A-Z 的消息通過以下方式進行了編碼: ‘A’ -> 1 ‘B’ -> 2 … ‘Z’ -> 26 給定一個只包含數字的非空字符串,請計算解碼方法的總數。 leetcode 遞歸 public int num

原创 hyserver惠電影后臺

hyserver爲hymp提供後臺服務,使用Django開發,分成三個app(hyserver/cinema/movie) django-admin startproject hyserver # 生成項目 python ma

原创 遞歸應用-回溯復原IP地址

給定一個只包含數字的字符串,復原它並返回所有可能的 IP 地址格式。 有效的 IP 地址正好由四個整數(每個整數位於 0 到 255 之間組成),整數之間用 ‘.’ 分隔。 leetcode public List<Str

原创 遞歸應用-生成子集

給定一個數組,生成子集 leetcode public List<List<Integer>> subsets(int[] nums) { return subsets(nums, nums.length);

原创 遞歸應用-n個數中選取k個數

給定兩個整數 n 和 k,返回 1 … n 中所有可能的 k 個數的組合。 leetcode public List<List<Integer>> combine(int n, int k) { List<

原创 面向對象的Flink SQL

任何程序都可以抽象成輸入、處理、輸出三部分,flink中將輸入抽象成source,輸出抽象成sink,中間處理則對應SQL/API,SQL對用戶友好,抽象層次更高,同時也導致缺乏靈活性,表達力更弱。 使用Flink中DataStr

原创 遞歸應用-組合總和

給定一個正數數組和target, 求所有組合爲target的解。 leetcode 直觀解決方案是蠻力搜索,保存搜索路徑,對於無法確定搜索次數的,只能使用遞歸搜索,準確描述搜索停止條件即可。 class Solution {

原创 大數乘法

輸入兩個代表整數的字符串,不使用標準庫,實現大數乘法 LeetCode //手動乘法 public String multiply(String num1, String num2) { if(num1.equals("0