原创 [LintCode] Swap Two Nodes in Linked List 交換鏈表中的兩個結點

Given a linked list and two values v1 and v2. Swap the two nodes in the linked list with values v1 and v2. It's guaran

原创 HDU4596Yet another end of the world(擴展歐幾里得)

題意: 給定一系列的蟲洞,每個蟲洞都有自己的x,y,z,當你的 id 對 x 取餘後結果落在[ y,z ]區間內,則會被吸引,被兩個或兩個以上的蟲洞吸引會有危險,求能否宇宙飛船能否起飛。 分析: 枚舉每兩個蟲洞,有 id - k1

原创 [LeetCode] Swap Nodes in Pairs(成對交換節點)

Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2->3->4, you should ret

原创 UVALive 7146 Defeat the Enemy (貪心)

題意: 我方有n個人,敵方有m個人。每個人有攻擊力a,防禦力d。如果我方的人i攻擊力比敵方的人j的防禦力高,那麼i可以殺死j,否則殺不死。當然,如果同時j的攻擊力比i個防禦力高,那麼j同時會殺死i。 但是,每個人只能打一次,無論存活下來還

原创 [LeetCode]Merge Sorted Array(合併兩個有序的數組)

思路:從後往前比,然後處理剩下的元素。 因爲不允許使用多餘的數組空間,就不好對兩個數組從前往後進行比較(插入位置比較麻煩) class Solution { public: void merge(vector<int>& nums

原创 Java集合Set與HashSet

原文:點擊 1、Set接口的使用     Set集合裏多個對象之間沒有明顯的順序。具體詳細方法請參考API文檔(可見身邊隨時帶上API文檔有多重要),基本與Collection方法相同。只是行爲不同(Set不允許包含重複元素)。

原创 [LeetCode148]Sort List(對鏈表排序)

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(i

原创 [劍指offer]二叉搜索樹轉鏈表

/* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL

原创 [LeetCode23]Merge k Sorted Lists(合併k個有序鏈表)

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(i

原创 [LeetCode41]找到一段連續正整數中丟失的數

class Solution { public: int firstMissingPositive(vector<int>& nums) { int len=num.size(); if(len==0) ret

原创 鏈表中倒數第k個結點

思路一: 兩個指針,先讓第一個指針和第二個指針都指向頭結點,然後再讓第一個指正走(k-1)步,到達第k個節點。然後兩個指針同時往後移動,當第一個結點到達末尾的時候,第二個結點所在位置就是倒數第k個節點了。 /* public class

原创 按之字形順序打印二叉樹

請實現一個函數按照之字形打印二叉樹,即第一行按照從左到右的順序打印,第二層按照從右至左的順序打印,第三行按照從左到右的順序打印,其他行以此類推。 題目鏈接:點擊 PS:也可以用兩個棧來做這題 import java.util.*; /*

原创 Codeforces510E Fox And Dinner(最大流-奇偶建圖+路徑打印)

搬運大佬題解系列:http://blog.csdn.net/qwb492859377/article/details/49021453 傳送門:點擊打開鏈接 題意: n只狐狸,每個狐狸對應了一個數字,現在要把n只狐狸分成很多個

原创 java中構造器(Constructor)

原文:http://blog.csdn.net/yu422560654/article/details/7399566 構造器是一個創建對象時被自動調用的特殊方法,爲的是初始化。構造器的名稱應與類的名稱一致。        當創建一

原创 Linux進程間的通信方式和原理

原文鏈接:點擊 進程的概念 進程是操作系統的概念,每當我們執行一個程序時,對於操作系統來講就創建了一個進程,在這個過程中,伴隨着資源的分配和釋放。可以認爲進程是一個程序的一次執行過程。 進程通信的概念 進程用戶空間是相互獨立的,一般而