A
LeetCode:
16. 3Sum Closest
Given an array nums of n integers and an integer target, find three integers in nums such that the sum is closest to target. Return the sum of the three integers. You may assume that each input would have exactly one solution.
Example:
Given array nums = [-1, 2, 1, -4], and target = 1.
The sum that is closest to the target is 2. (-1 + 2 + 1 = 2).
- 我的代碼:
class Solution {
public:
int threeSumClosest(vector<int>& nums, int target) {
if(nums.size() < 3) {return 0;}
if(nums.size() == 3) {return nums[0] + nums[1] + nums[2];}
sort(nums.begin(), nums.end());
vector<int>::iterator stable = nums.begin(),
begin = stable + 1,
end = nums.end() - 1;
int diff_val = INT_MAX, res = 0, sum = 0;
for(; stable != nums.end(); stable++) {
begin = stable + 1;
end = nums.end() - 1;
while(begin < end) {
sum = *stable + *begin + *end;
if(abs(sum - target) <= diff_val) {
res = sum;
diff_val = min(abs(sum - target), diff_val);
}
if(sum - target == 0) {return sum;}
if(sum - target < 0) {
begin++;
}
if(sum - target > 0) {
end--;
}
}
}
return res;
}
};
運(yùn)行結(jié)果:
Runtime: 4 ms, faster than 99.79% of C++ online submissions for 3Sum Closest.
Memory Usage: 8.8 MB, less than 46.86% of C++ online submissions for 3Sum Closest.主要思想:
- 排序
- 選定一個值后,使用雙指針,逐一比較
R
How artificial intelligence can help detect rare diseases
- 總摘:罕見遺傳疾病較難診斷浩村,但科學(xué)家們對679名患有105種不同疾病的患者進(jìn)行的研究表明,神經(jīng)網(wǎng)絡(luò)能將個人的肖像照片與患者和遺傳數(shù)據(jù)相結(jié)合椒功,并且此方法能更可靠捶箱、有效地檢測罕見疾病。
- 作用:該軟件將能夠通過檢測相片中的肖像特征动漾,并與患者的臨床癥狀和遺傳數(shù)據(jù)相結(jié)合丁屎,以高精度地計算出可能獲得的疾病。
- 訓(xùn)練數(shù)量:30谦炬,000張受罕見綜合癥影響的人的肖像照片悦屏。
- 其他注意點(diǎn):
1) 通過與面部分析結(jié)合,可以過濾掉決定性的遺傳因素键思,并優(yōu)先考慮基因;
2) 合并在神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)可減少分析時間并提高診斷率甫贯。
T
隨機(jī)森林 —— 對決策樹的優(yōu)化
- 隨機(jī)森林生成過程
- 利用自助抽樣法(Bootstrap)吼鳞,有放回地抽取樣本N個,作為一個訓(xùn)練子集叫搁;
- 從原樣本的X個特征中抽取k個特征赔桌,作為森林中其中一棵決策樹的每一個節(jié)點(diǎn)的分裂依據(jù),生成一棵決策樹(不剪枝)渴逻;
- 重復(fù)上述的1疾党、2步驟m次,產(chǎn)生m棵決策樹(即森林)惨奕;
- 輸入用于測試的數(shù)據(jù)集(n個測試數(shù)據(jù)集雪位,測試n次),得出每一棵決策樹的結(jié)果梨撞,并利用多數(shù)投票法機(jī)制產(chǎn)生最終的決策結(jié)果(Bagging策略)雹洗。
- 隨機(jī)森林特點(diǎn)
樣本隨機(jī)抽樣、特征(每一棵決策樹的節(jié)點(diǎn)分裂依據(jù))隨機(jī)抽樣卧波,能較好地防止單棵決策樹造成的過擬合現(xiàn)象时肿。 - 參考鏈接:
對于隨機(jī)森林的通俗理解
隨機(jī)森林詳解
統(tǒng)計學(xué)里面的自助法(Bootstrap Method)為什么效果好?
bootstraping港粱、bagging螃成、boosting三個算法的概念及區(qū)別
S
近期準(zhǔn)備期末考試,沒怎么學(xué)新的東西查坪。
做算法題時寸宏,發(fā)現(xiàn)了C++自帶的排序方法:
#include <algorithm>
sort(首地址,尾地址) // 一般用法咪惠,默認(rèn)降序