A
LeetCode:
344. Reverse String
Write a function that reverses a string. The input string is given as an array of characters char[].
Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.
You may assume all the characters consist of printable ascii characters.
Example 1:
Input: ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]
Example 2:
Input: ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]
本題較簡單,題目要求將數(shù)組反轉(zhuǎn),并控制時間空間,考慮雙指針。
代碼如下:
class Solution {
public:
void reverseString(vector<char>& s) {
if(s.empty() || s.size() == 1){return;}
vector<char>::iterator i, j;
for(i = s.begin(), j = s.end() - 1; i <= j; i++, j--) {
char temp;
temp = *i;
*i = *j;
*j = temp;
}
return;
}
};
運行結(jié)果:
Runtime: 48 ms, faster than 94.19% of C++ online submissions for Reverse String.
Memory Usage: 15.1 MB, less than 82.61% of C++ online submissions for Reverse String.
查看他人的代碼:
class Solution {
public:
void reverseString(vector<char>& s) {
if (s.size() < 2) return;
size_t l = 0;
size_t r = s.size() - 1;
while (l < r) {
swap(s[l], s[r]);
++l;
--r;
}
}
};
主要不同在于,該作者使用了vector中的swap()方法,思路差異不大。
R
Half a face enough for recognition technology
本文是有關(guān)人臉識別的一些內(nèi)容:Bradford大學的研究者發(fā)現(xiàn),人臉識別技術(shù)能在僅有半張臉可見的條件下成功做到識別。他們的研究隊伍已經(jīng)能夠在僅有四分之三和一半臉部的條件下,達到100%的識別率。這項發(fā)表在Future Generation Computer Systems的研究,第一個將機器學習用于測試不同臉部的識別率。
問題提出:Bradford大學的首席研究員Hassan Ugail教授說,人類識別臉部的能力非常強大,但在僅有部分人臉可視的條件下,人對人臉的識別率顯著下降;而計算機在大量人臉條件下,識別人臉的能力已經(jīng)比人類更強了,因此他們想嘗試在部分人臉識別這一方面,計算機是否能夠有一樣良好的表現(xiàn)。
方法:使用卷積神經(jīng)網(wǎng)絡(luò)機器學習技術(shù),利用一款名為VGG(廣泛用于人臉識別)的特征提取模型。數(shù)據(jù)集:2800張相片(從巴西FEI大學的200名學生與職工中提取,男女數(shù)量相等)。
實驗:
1、 只用全臉圖片訓練模型;結(jié)果:四分之三、上半部分、右半部分識別成功率達100%,但下半部分僅60%,只含眼睛、鼻子等圖片的識別率僅40%;
2、 將部分人臉的圖片再次用于訓練模型,結(jié)果:各項識別率均顯著提升,甚至不含任何部位(眼、鼻等)的臉部識別成功率也達到了90%左右。
意義:可為安全與犯罪的預防防治開辟新道路。
不足:需要在更大數(shù)據(jù)集中進一步證實;除全臉圖片外,還需使用部分臉部圖片。
T
關(guān)于hash_map
總體來說,hash_map類似于python中的字典,可以快速地根據(jù)key查找值。
官方文檔:hash_map
S
看了一些別人的代碼,感覺自己的代碼有點兒問題,于是了解了一下重構(gòu)的使用:refactor