原创 1.leetcode-字符串處理函數atoi的書寫

要注意的問題: 輸入是空字符串返回0 輸入是”0” 也要返回0 輸入字符串前面可能有空格,如’ 10’ 輸入字符串如果溢出了: 如果向上溢出,則返回int類型最大值 如果向下溢出,則返回int類型最小值 如果輸入“+

原创 當文件中存在NULL時,如何讀取文件,使其轉爲NA?

R: 當文件中存在NULL時,如何讀取文件,使其轉爲NA? 文件如下(case.txt): charCol floatCol intCol 1: a 1.5 10 2: b N

原创 R編程規範

注:來自Google’s R Style Guide 1. 文件命名 文件的命名(File Names) 文件的命名應該以.R爲結尾,並且應該有意義(你要幹什麼) GOOD: predict_ad_revenue.R

原创 2.劍指offer-數組中滑動窗口的最大值

2.劍指offer-數組中滑動窗口的最大值 1.問題描述 給定一個數組和滑動窗口的大小,找出所有滑動窗口裏數值的最大值。例如,如果輸入數組{2,3,4,2,6,2,5,1}及滑動窗口的大小3, 那麼一共存在6個滑動窗口,他們的最

原创 6.劍指offer-輸出兩個鏈表的公共節點

1.題目描述 輸入兩個鏈表,找出它們的第一個公共結點。 鏈表結構如下: struct ListNode { int val; struct ListNode *next; ListNode(int x)

原创 2-找兩個有序數組的中位數

0. 題目 題目:There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sort

原创 5.劍指offer-鏈表複製

1.題目要求 輸入一個複雜鏈表(每個節點中有節點值,以及兩個指針,一個指向下一個節點,另一個特殊指針指向任意一個節點),返回結果爲複製後複雜鏈表的head。(注意,輸出結果中請不要返回參數中的節點引用,否則判題程序會直接返回空)

原创 3.劍指offer-合併兩個有序的鏈表

1.題目要求 輸入兩個單調遞增的鏈表,輸出兩個鏈表合成後的鏈表,當然我們需要合成後的鏈表滿足單調不減規則。要求輔助空間是O(1) 2. 想法 假設兩個鏈表的頭指針分別是pHead1和pHead2. 基本想法是:用一個指針p指向

原创 7.劍指offer-鏈表中環的入口節點

1.題目 一個鏈表中包含環,請找出該鏈表的環的入口結點。 2.基本思路 設鏈表中有m個節點 方法1: 遍歷鏈表,將訪問過的節點存儲在一個表中,邊訪問邊查詢,如果訪問的節點已經在表中出現,則爲環的入口節點 時間複雜度O(m)

原创 4.劍指offer_用兩個棧模擬一個隊列

前言:這道題很簡單,第一次做時,提交了一次;第二次做時,連續提交了三次。而且代碼也變的很爛. 不上心什麼都做不好 1. 基本想法 假設兩個棧分別人stack1 和stack2 進棧時,進棧stack1 出棧時, 如果stack

原创 雜篇之3-C++的輸入與輸出

1.C++/C輸入輸出常用函數 兩個函數: cin ,與c 中的scanf類似 特點:遇tab,space,Enter即結束輸入(scanf一樣) getline,與 c中的gets(char *s)類似 特點:讀入一行文本,遇到

原创 雜篇之2-堆篇

1.基本操作 H.top() :返回堆頂元素,但是不刪除該元素 H.pop() :刪除堆頂元素 H.push(item) :往堆頂插入元素item 2.基於庫的int類型的最大堆,最小堆 下面對堆的構建都是基於標準庫中的priori

原创 21.劍指offer-數組中重複的數字

1.題目 一個整型數組裏除了兩個數字之外,其他的數字都出現了兩次。請寫程序找出這兩個只出現一次的數字。 2. 思路 思路1: 使用hash表 思路2:(來自劍指offer) 如果數組中只有一個重複的數字,則我們可以將數組中的數字依

原创 19.劍指offer-把數組排成最小的數

1.題目 輸入一個正整數數組,把數組裏所有數字拼接起來排成一個數,打印能拼接出的所有數字中最小的一個。例如輸入數組{3,32,321},則打印出這三個數字能排成的最小數字爲321323。 2. 基本思路 ​ 我們將輸入數組

原创 20.劍指offer-數組中的逆序對

1.題目 在數組中的兩個數字,如果前面一個數字大於後面的數字,則這兩個數字組成一個逆序對。輸入一個數組,求出這個數組中的逆序對的總數P。並將P對1000000007取模的結果輸出。 ​ 即輸出P%1000000007 2.基本思