Cpp的簡單程式設計題
1.
這裡需要說明下,什麼是c++裡面的建構函式、拷貝建構函式,賦值函式。
建構函式:
c++物件的構造,即作業系統給該物件分配對應的資源空間,建構函式有預設的,由編譯器產生,也可以由使用者自定義產生,使用者可以自定義普通建構函式,也可以定義拷貝的建構函式。
拷貝建構函式:
屬於建構函式的一種,但是是由使用者定義在兩個相同物件拷貝時發生,一般呼叫可能有兩個方式:直接初始化進行建構函式的匹配,匹配到拷貝建構函式;另外一個就是拷貝初始化,兩種方式如下:
賦值函式:
其實是過載的一部分,完成兩個相同物件之間的賦值,不發生在初始化時候。
2.
這一題暴力破解的話,時間複雜度就是O(m*n),很明顯這樣不是考查者出這個題目的目的。
那麼如何解決這個匹配的問題呢???——KMP字串匹配演算法,該演算法的時間複雜度可以降到線性的O(m+n)
難點就是去建立一個next陣列,沒有匹配的情況去查詢next陣列,將匹配的字串一次多滑動視窗,程式碼如下 :
相關推薦
Cpp的簡單程式設計題
1. 這裡需要說明下,什麼是c++裡面的建構函式、拷貝建構函式,賦值函式。 建構函式: c++物件的構造,即作業系統給該物件分配對應的資源空間,建構函式有預設的,由編譯器產生,也可以由使用者自定義產生,使用者可以自定義普通建構函式,也可以定義拷貝的建構函式。
【複習】c語言幾道簡單程式設計題
最近在複習c語言的一些知識點,以下是整理的幾道比較重要的程式設計題: 1.列印100-200之間的素數 為了統計素數的個數,可設定一個計數器count; 方法1: #include<stdio.h> int main() { int i = 0; int count =
PAT-計算工資(簡單程式設計題)
某公司員工的工資計算方法如下:一週內工作時間不超過40小時,按正常工作時間計酬;超出40小時的工作時間部分,按正常工作時間報酬的1.5倍計酬。員工按進公司時間分為新職工和老職工,進公司不少於5年的員工為老職工,5年以下的為新職工。新職工的正常工資為30元/小時,老職工的正
PAT-分段計算居民水費 (簡單程式設計題)
為鼓勵居民節約用水,自來水公司採取按用水量階梯式計價的辦法,居民應交水費y(元)與月用水量x(噸)相關:當x不超過15噸時,y=4x/3;超過後,y=2.5x−17.5。請編寫程式實現水費的計算。
關於String的簡單程式設計題
一、將字串反轉 package string; public class Reverse { public static void main(String[] args) { String s1 = "abc defg wf
PAT-然後是幾點(簡單程式設計題)
有時候人們用四位數字表示一個時間,比如1106表示11點零6分。現在,你的程式要根據起始時間和流逝的時間計算出終止時間。 讀入兩個數字,第一個數字以這樣的四位數字表示當前時間,第二個數字表示分鐘數,計算當前時間經過那麼多分鐘後是幾點,結果也表示為四位數字。當小時為個位數
考基本功的 10 個簡單程式設計題
一、給一個數 N,判定這個數是否是素數。 1、先讓面試者說素數的定義,如果不知道可以提示素數的定義 2、最差的面試者,會沒有思路,這是很可怕的,大學第一學期學完,應該學會這個題 3、一般的面試者,能比較費勁地寫出正確的程式,但是可能存在邊界、標記等問題。 4、寫出程式出來,
Java簡單程式設計題訓練一
字串反轉 import java.util.*; public class Main{ public static void main(String[] args){ Scanner in =new Scanner(System.in);
PAT-列印九九口訣表(簡單程式設計題)
下面是一個完整的下三角九九口訣表: 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16
PAT-爬動的蠕蟲(簡單程式設計題)
一條蠕蟲長1寸,在一口深為N寸的井的底部。已知蠕蟲每1分鐘可以向上爬U寸,但必須休息1分鐘才能接著往上爬。在休息的過程中,蠕蟲又下滑了D寸。就這樣,上爬和下滑重複進行。請問,蠕蟲需要多長時間才能爬出井? 這裡要求不足1分鐘按1分鐘計,並且假定只要在某次上爬過程中蠕蟲的頭
PAT-計算圓周率(簡單程式設計題)
根據下面關係式,求圓周率的值,直到最後一項的值小於給定閾值。 2π=1+31+3×52!+3×5×73!+⋯+3×5×7×⋯×(2n+1)n!+⋯
PAT-表格輸出(簡單程式設計題)
本題要求編寫程式,按照規定格式輸出表格。 輸入格式: 本題目沒有輸入。 輸出格式: 要求嚴格按照給出的格式輸出下列表格: ----------------------------------
PAT-用天平找小球(簡單程式設計題)
三個球A、B、C,大小形狀相同且其中有一個球與其他球重量不同。要求找出這個不一樣的球。 輸入格式: 輸入在一行中給出3個正整數,順序對應球A、B、C的重量。 輸出格式: 在一行中輸出唯一的那
一些利用遞迴思想的簡單程式設計題(JS實現)
1. 使用遞迴函式計算1+2+...100的值。2. 定義函式,宰相的麥子:相傳古印度宰相達依爾,是國際象棋的發明者。 有一次,國王因為他的貢獻要獎勵他,問他想要什麼。 達依爾說:“只要在國際象棋棋盤上(共64格)擺上這麼些麥子就行了: 第一格一粒,第二格兩粒,…
簡單程式設計題
使用函式求兩個複數的積 #include <stdio.h> double result_real,result_imag; void complex_prod(double real1,double imag1,double real2,double ima
考出面試者基本功的 10 個簡單程式設計題
昨天在朋友圈感慨了一下被面試的小朋友,會拉控制元件,會做應用,但是基本功差,還要價高,結果引來了 60多條評論。朋友們大都是感慨行業浮躁、人傻錢多,也有朋友問到,什麼樣的程式設計題能考察程式設計師的基本功呢?本文就奉上 10個筆者常用來考察面試者的程式設計題。由於我們不是大公
C語言簡單程式設計題——求1到100之間的素數
//求1到100之間的素數 //這個題目在拿到之後看著很簡單,1到100之間只要滿足素數的條件即可 //而也可以這樣考慮1到100之間,只要能被除1和自身之外的數整除的數,不給返回值,反之則給返回 //下邊就來程式碼了 int PrimeNumer(int x)
幾道簡單的基礎程式設計題
列印1到100之內的整數,但數字中包含7的要跳過, 每行輸出7個滿足條件的數,之間用空格分隔,列印格式如下: 1 2 3 4 5 6 8 列印滿足條件的資料的個數 public class Demo { public static void main(String[] args) {
3211: 簡單的程式設計題
3211: 簡單的程式設計題 時間限制: 1 Sec 記憶體限制: 128 MB提交: 162 解決: 53[提交][狀態][討論版][命題人:lyh] 題目描述 編寫一個程式,對於從鍵盤輸入的2個整數m,n(n,m<=10^6),先
程式設計題——虛數求和(簡單結構體的應用)
結構體知識回顧 結構基礎知識 一些結構體的使用誤區 兩種不同函式引數定義的函式 定義結構體,仿照int求和函式 利用結構體 指標重新編寫 結構基礎知識 C的聚合資料型別(aggregate data ty