題目:輸入乙個字串從左到右遍歷,如果遇到三個連續相同的子串就將這個子串刪除,並將原串剩下的部分拼接到一起,重複上述過程,直到字串中沒有可以刪除的子串。
eg:
輸入:aaabccdddcb
aabbbabbba
輸出:bb
a重要:從乙個字串中刪除乙個子串,必須將原字串的內容strcpy到開闢的數字中(new char[size]),才能改變原字串。相當於在陣列中刪除一部分。
#include
using namespace std;
#pragma
warning (disable:4996)
char* rmovesubstr(char *str)
//開始刪除
if (count == 3)
begin = str; //從頭開始遍歷
}//退出條件,沒有可刪除的子串了
else
if (count < 3 && *begin == '\0')
return str;
}}int main()
網易
/*思路:為了買盡量少的袋數,所以先要算出最多能買多少袋8個裝的
然後用剩餘的個數/6,看是否能被6整除,如果不能則少拿一袋8個裝的
剩餘的個數+8,再用剩餘的個數/6,以此類推,知道8個裝的個數減到0,
還不能被6整除,則說明沒有合適的購買方法,此時剩餘的個數=總個數*/
int main()
}//剩餘的個數 = 總個數,說明沒找到合適的買法
if (surplus == n)
cout
<< -1
<< endl;
else
return
0;}
滴滴題目:求乙個數的階乘末尾有幾個0
eg:10! = 3628800 輸出:2
#include
#include
using
namespace
std;
//將數字裝換成字串 eg:1234->"1234"
void print(long
long val)
char ch[1024] = ;
//將轉換的字元存入字元陣列中
int len = s.size();
for (int i = 0; i < len; i++)
//從陣列的末尾計算0的個數
for (int i = len - 1; i >= 0; i--)
cout
<< count << endl;
}int main()
樂港2017校招筆試題
前言 今天通知過了筆試,但覺得筆試沒來得及做的題還是要做一下。題目 第二道題,字串的,大意就是,給你個形如a,b,c,ab,bb,cb,ac,bc,cc,aab,bab,cab,abb,bbb,cbb,acb,bcb,ccb.按某種規律排列的無限長的字串陣列,要求 1 給定乙個位置,輸出對應的字串。...
好未來2017校招筆試
一.描述下程序和執行緒的區別 1.當程序發生排程時,它擁有乙個完整地虛擬位址空間,但不同的程序擁有不同的虛擬位址空間 而同一程序內的不同執行緒共享其所屬程序的同一位址空間 3.程序的排程與切換由作業系統核心完成,而執行緒的排程可由作業系統完成,也可由使用者完成 4.在多執行緒作業系統中,執行緒是系統...
京東校招筆試題
題目摘自牛客網 給定字串 ascii碼0 255 陣列,請在不開闢額外空間的情況下刪除開始和結尾處的空格,並將中間的多個連續的空格合併成乙個。例如 i am a little boy.變成 i am a little boy 語言不限,但不要用偽 作答,函式輸入輸出請參考如下的函式原型 void f...