原创 比較兩個數的大小,要求不能用if,,?

1.去平均值法: int Max(int a, int b) { return (a+b+abs(a-b))/2; //如果返回小者: //return (a+b-abs(a-b))/2; } 2.移位法 int Max(int

原创 常用小技巧-測試

1. 如何判斷一個數是否是整數 2. 如何判斷一個數後面是否有小數 3.保留兩位有效數字,但是沒說要四色五入 4.確定字符數組的大小 5. 確定輸入的字符串會自帶'\0' 1. 如何判斷一個數是否是整數 if(int(a)==b)

原创 比較兩個數的大小,要求不能用if,<,>,?

1.去平均值法: int Max(int a, int b) { return (a+b+abs(a-b))/2; //如果返回小者: //return (a+b-abs(a-b))/2; } 2.移位法 int Max(int

原创 電腦組合鍵使用技巧

按住windows+L,直接鎖屏;按住windwos+E,直接進入我的電腦;按住windows+D,直接進入桌面;按住windows+R,直接進入運行界面;

原创 Leetcode:2Sum,3Sum

1. 2Sum:等於某值result的結合(a,b) 首先將數值進行排序,然後使用兩個指針p1,p2,p1指向頭,p2指向尾,然後求和比較,如果大於result,則p2--,如果小於result,則p1++,否則p1和p2所指的值即爲所

原创 STL:map

1. map是標準的關聯式容器,它提供了快速檢索能力,在一個map中key值是唯一的。map提供了雙向迭代器:iterator和reverse_iterator(rbegin(),rend()); 2. map要求能對key進行'<'操作

原创 STL:sort

針對vector,可採用algorithm中sort sort默認採用的是less函數,即遞增排序。(主要針對標準類型:int char float sring,如果遇到自己定義的類型,有兩種方法:1.重載“<”,2.重寫比較函數);

原创 筆試題:求最大連續子數組的最大乘積

注意:是連續子數組;而子序列表示原來的順序不變,但是可以除去中間的任意元素; 思路一: 將第一個值都和後面的每個值分別相乘,相乘的過程中找出最大值;接着講第二個值與後面的每個值分別相乘,找出最大值;最後將最大值在比較出最終的最大值。

原创 操作系統:線程同步

線程同步是爲了多線程能夠安全訪問共享資源。 臨界區、互斥量、事件、信號量四種方式 臨界區(Critical Section)、互斥量(Mutex)、信號量(Semaphore)、事件(Event)的區別 1、臨界區:通過對多線程的

原创 STL:accumulate

1. accumulate()可以用來計算數組或者容器中的內置數據類型; 2. #include<numeric.h> 3. 常用例子: int arr[]={1,2,3,4}; <pre name="code" class="cp

原创 effective stl:確保容器中對象副本正確而高效

1. 容器中保存了對象,但並不是你提供給容器的那些對象(insert,push_back子類的操作);而當從容器中取出一個對象時,你所取出的一個對象時,你所取出的也並不是容器中所保存的那份(front或back之類的操作)。進去的副本,出

原创 數據結構:四則運算

1.平時我們所接觸到的四則運算都是中序表達式,而要進行編程計算時要考慮符號優先級神馬的很麻煩,故通常將其轉換爲前序表達式或者後序表達式: 中序表達式:2*3/(2-1)+3*(4-1)前序表達式:+/*23-21*3-41後序表達式:2

原创 effective stl:如果確實需要刪除元素,則需要在remove這一類算法之後調用erase

1. remove的聲明: template<typename ForwardIterator, typename T> ForwardIterator remove(ForwardIterator first, ForwardItera

原创 C++:測試用例及體會

關於變量作用域的測試  (vc6)int main() { { int i=3; } cout<<i<<endl; return 0; } 編譯結果:error C2065: 'i' : un

原创 LeetCode:2Sum

題目:Given an array of integers, find two numbers such that they add up to a specific target number. The function twoSu