Time of Update: 2018-07-25
Follow up for "Remove Duplicates": What if duplicates are allowed at most twice? For example, Given sorted array nums = [1,1,1,2,2,3], Your function should return length = 5, with the first five elements
Time of Update: 2018-07-25
希爾排序 (1)演算法介紹 希爾排序又叫做縮小增量排序,其本質還是插入排序,只不過是將待排序的序列按照某種規則分成幾個子序列,分別對這幾個子序列進行直接插入排序。這個規則就是增量。
Time of Update: 2018-07-25
最近在學習C#,接觸到簡單原廠模式,剛開始接觸設計模式還有點不太習慣……但是我想我已經開始喜歡上它了…… (一)我理解的簡單原廠模式。
Time of Update: 2018-07-25
編程練習: 1.定義一個類來表示銀行賬戶。資料成員包括出乎姓名、賬 號(使用字串)和存款。成員函數執行如下操作: *建立一個對象並將其初始化; *顯示儲戶姓名、帳號和存款; *存入參數指定的存款; *取出參數指定的款項; 編寫一個小程式來顯示所有的特性。 程式編寫如下: //檔案Bankaccount.h class Bankaccount{private: char name[40]; char acctnum[25]; double
Time of Update: 2018-07-25
#include<fstream>#include<string>#include<iostream>using namespace std;int main() {ofstream 輸出檔案("test.bin", ios::out | ios::binary);string test = "Hello,world!";int length = test.size();輸出檔案.write((char
Time of Update: 2018-07-25
Trie,字典樹,又稱單詞尋找樹、首碼樹,是一種雜湊樹的變種。應用於字串的統計與排序,經常被搜尋引擎系統用於文本詞頻統計。 性質: 1.根節點不包含字元,除根節點外的每一個節點都只包含一個字元。 2.從根節點到某一節點,路徑上經過的字元串連起來,為該節點對應的字串。 3.每個節點的所有子節點包含的字元都不相同。 優點是查詢快。對於長度為m的索引值,最壞情況下只需花費O(m)的時間;而BST需要O(m log n)的時間。
Time of Update: 2018-07-25
C# 2.0 泛型(Generics) 泛型是CLR 2.0中引入的最重要的新特性,使得可以在類、方法中對使用的類型進行參數化。 例如,這裡定義了一個泛型類: class MyCollection<T> { T variable1; private void Add(T param){ } } 使用的時候:MyCollection<string> list2
Time of Update: 2018-07-25
最近開始做面試題,裡面涉及到了很多C++的基礎資料結構,在此複習一遍。 本篇博文內容較為簡單,來自於chao_xun的部落格,我將其分享在此僅供學習與研究用,並不承擔任何法律責任。 以下是內容引用: C++stack(堆棧)是一個容器的改編,它實現了一個先進後出的資料結構(FILO)。 使用該容器時需要包含#include標頭檔; 定義stack對象的範例程式碼如下: stacks1; stacks2; stack的基本操作有:
Time of Update: 2018-07-25
在C語言中,將字串作為字元數組來處理。即C string就是 char arrary[MAX_SIZE];字元數組。而C++中的string 是 string class, 聲明形式 string strObject.變數是個對象。只是他是C++ 標準庫提供的string類,其實現效果跟使用者自訂的類一樣。 C string 字串可以用字串數組 char Array[MAX_SIZE];與字串變數 char *p; 兩種方式來儲存。以 ‘\0’為字串結束標誌。strlen 是把串結束符
Time of Update: 2018-07-25
今天測試了一下C++ 源檔案中要調用C源檔案定義的函數,最初在標頭檔中聲明函數,C源檔案和C++源檔案中都include標頭檔,導致CodeBlock編譯不通過。經過修改和測試,發現在C源檔案中不能include標頭檔,並且應該在標頭檔中添加extern操作。 main.cpp #include <iostream>#include "sum.h"using namespace std;int main(void){ cout <<
Time of Update: 2018-07-25
CUDA9的編譯器和語言改進 使用CUDA 9,nvcc編譯器增加了對C ++ 14的支援,其中包括新功能 通用的lambda運算式,其中使用auto關鍵字代替參數類型; auto lambda = [](auto a,auto b){return a * b;}; 功能的傳回型別扣除(使用auto關鍵字作為傳回型別,如上例所示) 對constexpr函數可以包含的更少的限制,包括變數聲明,if,switch和迴圈。 CUDA 9中的NVCC也更快,與CUDA
Time of Update: 2018-07-25
The ``Clockwise/Spiral Rule'' By David Anderson There is a technique known as the ``Clockwise/Spiral Rule'' which enables any C programmer to parse in their head any C declaration! There are three simple steps to follow: Starting with
Time of Update: 2018-07-25
(一)函數模板的概念1--假設要編寫一個函數對兩個參數求和。實際編程中,我們可能希望定義幾個這樣的函數,每一個都可以對一種 給定類型的值求和,那麼,可能自然會想到使用重載函數.例如: int add(int a,int b) { return a+b; } double add(double a,double b) { return a+b; } char add(char a,char b) { return a+b;
Time of Update: 2018-07-25
以前經常聽人提起如何計算程式已耗用時間,給出一系列函數,當時沒有注意,隨便選了clock()最簡單的方式進行計算。等到真正需要檢測程式效能提升了多少,才發現這裡面有很多要注意的地方。 最常用的的方式: #include time_t start = clock(); time_t end = clock(); printf("the running time is : %
Time of Update: 2018-07-25
12.3 類範圍 1.在定義於類外部的成員函數中,形參表和成員函數體都出現在成員名之後。這些都是在類範圍中定義,所以可以不用限定而引用其他成員。例如,類 Screen中 get 的二形參版本的定義: char Screen::get(index r, index c) const { index row = r * width; // compute the row location
Time of Update: 2018-07-25
替換是加密過程中常用的一種運算。可以設計一種簡單的替換如下:將大寫字母A~Z按照字母順序排列成一個圓圈,字母Z後面緊接著字母A,對於任何一個待替換的大寫字母,取其後第n個字母代替它,即完成替換過程。例如,當n=2時,A被C替換,B被D替換,C被E替換,……,Y被Z替換,X被A替換,Z被B替換。對於小寫字母、數字也可以類比處理。要求編寫一個程式,由使用者輸入n(類似於密鑰),並將使用者輸入的待替換的字串(類似於明文,由大寫和小寫字母組成)逐個字母替換後輸出(輸出結果類似於密文)。思考一
Time of Update: 2018-07-25
定義:sizeof是計算對象所佔的位元組數,通常用來查看變數、數組或結構體等所佔位元組個數的操作運算子。 形式:sizeof()有三種文法形式: 1)用於資料類型:sizeof(type_name);//sizeof(類型);
Time of Update: 2018-07-25
#include <stdio.h> void main () { printf("0 | 0 is %d\n", 0 | 0);
Time of Update: 2018-07-25
經測試按照如下順序: 一、先執行靜態成員的建構函式,如果靜態成員只是在類定義中聲明了,而沒有實現,是不用構造的。必須初始化後才執行其建構函式。 二、任何虛擬繼承基類的建構函式按照它們被繼承的順序構造(不是初始化列表中的順序) 三、任何非虛擬繼承基類的建構函式按照它們被繼承的順序構造(不是初始化列表中的順序) 四、任何成員對象的建構函式按照它們聲明的順序構造 五、類自己的建構函式 測試程式如下: [cpp] view
Time of Update: 2018-07-25
題目描述 請實現一個演算法,確定一個字串的所有字元是否全都不同。這裡我們要求不允許使用額外的儲存結構。 給定一個string iniString,請返回一個bool值,True代表所有字元全都不同,False代表存在相同的字元。保證字串中的字元為ASCII字元。字串的長度小於等於3000。 測試範例: "aeiou" 返回:True