原创 Leetcode 148. 排序鏈表 歸併排序O(nlogn)

鏈表歸併排序 關鍵點:用快慢指針找到鏈表的中點,分割鏈表; 快指針一次走兩步,慢指針一次一步,這樣快指針到鏈表尾部,慢指針大概就是鏈表的中點了   /** * Definition for singly-linked list. *

原创 PAY 甲級 1087 All Roads Lead to Rome (30 分) dij最短路

最短路問題 題意: 給定n個點m條邊的無向圖,找一條最短路徑,距離一樣的話找路徑總happy值(每個點有一個happy值)最大的,如果happy一樣大的話,找平均happy值最大的(也就是經過的點儘量少的) 思路: 使用n²  的 dij

原创 leetcode evaluate-reverse-polish-notation 逆波蘭式求值-java棧/字符串轉Integer

一、Java Stack 類 棧是Vector的一個子類,它實現了一個標準的後進先出的棧。 堆棧只定義了默認構造函數,用來創建一個空棧。 堆棧除了包括由Vector定義的所有方法,也定義了自己的一些方法。 (上圖來自菜鳥教程) 二、Ja

原创 PAT 甲級 1038 Recover the Smallest Number (30 分) 貪心排序

題意: 給定n個字符串,只包含數字,用所有的字符串組成一個大的字符串,要求去掉前導零後字典序最小 思路: 經典貪心問題, 不是簡單的按照字典序排序,因爲兩個字符串長度不同會影響他們組合後的字典序, 對於兩個字符串s,t, 通過比較st 

原创 PAT 甲級 1123 Is It a Complete AVL Tree (30 分) AVL+層次遍歷

感動!從沒看過AVL的代碼,自己通過對四種平衡方式的理解,然後把代碼寫出來了   題意: 創建一顆AVL樹,輸出層次遍歷序列,並判斷是不是完全二叉樹 思路: 本題難點就是AVL建樹過程; 結構體存樹的結點,包含值,左孩子高度,右孩子高度;

原创 PAT甲級1129

重載運算符,set有自動排序功能,還能log級別查找出來刪除更新   #include<bits/stdc++.h> #define FI first #define SE second using namespace std; ty

原创 PAT 甲級 1135 Is It A Red-Black Tree (30 分) 結構體數組建樹+dfs

node結構體數組建樹寫法 指針建樹及題意思路詳見:https://blog.csdn.net/xiang_6/article/details/100128763   #include<bits/stdc++.h> #include<c

原创 Windows下安裝scikit-learn(sklearn)庫

引言: Scikit-learn 非常易於使用,並且實現了許多有效的機器學習算法,因此它爲學習機器學習提供了一個很好的切入點   前提條件: 首先要有安裝並配置好python 而且需要安裝sklearn庫的依賴庫:numpy庫和scipy

原创 PAT 甲級 1135 Is It A Red-Black Tree (30 分) 指針建樹+dfs

馬一下,,,這個題真滴蠢 ps:紅黑樹的葉子結點省略了,全是NULL,先序遍歷的時候不會輸出 #include<bits/stdc++.h> #include<cstring> #define FI first #define SE s

原创 leetcode max-points-on-a-line 暴力枚舉

題目描述 對於給定的n個位於同一二維平面上的點,求最多能有多少個點位於同一直線上 注意處理重合的點,再就是暴力枚舉了 i,j,k 大小單調就可以,這樣不會重複 /** * Definition for a point. * clas

原创 PAT 甲級 1014 Waiting in Line (30 分) (因題意問題的錯誤代碼)

本文因題意問題是錯誤代碼, 正確代碼見:https://blog.csdn.net/xiang_6/article/details/100135775   #include<bits/stdc++.h> #include<cstring

原创 PAT 甲級 1134 Vertex Cover (25 分) set

題意: 給定無向圖,問一個點集是不是vertex cover 思路: 條件:1.點集的點爲 0 ~ n-1  ;;2.無向圖中所有邊的兩個點至少有一個在點集裏 把所有的邊保存起來,用set存給定的點集   #include<bits/s

原创 2345輸入法真是 大叉叉!!

2345輸入法真是 大叉叉!! 不顯示彈窗了,tm還自己蹦這個,刪了自己每天開機都出,真噁心

原创 某公司 幾個算法題(面試階段結束再公佈公司名稱)

  1、 計算兩個日期之間相隔天數(等價於:知道之前某個日期是星期幾,問現在星期幾) 涉及知識:判斷閏年,月份用數組打表保存,根據閏年判斷2月天數 cpp代碼如下,頭文件自寫:這是1971年1月1日星期四,求當天星期幾的程序 bool