極大似然的原理
svm 原理
l1和l2的區別,以及各自的使用場景
為什麼梯度是函式變化最快的方向
遞迴的去除字串中連續的 ac 和 b
#include #include #include using namespace std;
int main() ;
if (s.empty())
stackst;
int cursor = 0;
while(cursor < s.size()) else else if (st.top() == 'a' && ch == 'c') else }}
vectorch(st.size());
for (int i = st.size()-1; i >= 0; i--)
for (auto& e : ch)
return 0;
}
#include #include using namespace std;
int main() ;
int num;
ss >> num;
cout << num << endl;
return 0;
}
leetcode 2
/**
* definition for singly-linked list.
* struct listnode
* };
*/class solution
if (l2)
p->next = new listnode(partsum%10);
p = p->next;
partsum /= 10;
}if (partsum != 0) p->next = new listnode(partsum);
return dummyhead.next;}};
leetcode98. validate binary search tree
中序遍歷樹, 檢視遍歷過程中是否是公升序
/**
* definition for a binary tree node.
* struct treenode
* };
*/class solution else
pre = cur;
p = st.top()->right;
st.pop();}}
return isvalid;
} };
根節點的值大於左子樹的最大值, 小於右子樹的最小值,
作為葉子節點來說, 以左葉子節點來說, 左葉子節點要
滿足父節點的約束;
小於其父節點的值;
class solution
bool isvalidbst(treenode* root, long min_val, long max_val)
};
解法很經典, 好好揣摩.
/*
struct treenode
};*/
#include#includeusing namespace std;
class solution
// *& 很重要, 必須使用引用, 否則當前 pre 並沒有更新到最新位置
void converthelper(treenode* cur, treenode*& pre)
else
pre = cur;
converthelper(cur->right, pre);}};
/*
struct treenode
};*/
#include#includeusing namespace std;
class solution
treenode dummyhead(-1);
treenode *dp = &dummyhead;
treenode *p = prootoftree;
stackst;
while (p || !st.empty()) else
}dummyhead.right->left = nullptr;
return dummyhead.right;}};
用了同學的白金內推碼,所以直接進入了
面試,全程都在寫題!機器學習的問題非常少! 一面: 1、介紹專案 2、強化學習pg的推導 3、強化學習dqn,ddqn,ac,ddpg的區別 4、n個[0,n)的數,求每個數的出現次數(不能開闢額外空間) 5、k個有序陣列,找乙個長度最小的區間,在這個區間裡至少包含每個陣列各乙個數。 分析:初始化帶下為k的最小堆,k個數字是每個陣列中的最小值,設定變數max記錄k個數字中的最大值,刪除堆頂元素,將原堆頂元素對應的陣列中下乙個元素加入到堆中,調整堆,並且記錄當前區間範圍為(max-min),重複執行直到某個陣列所有值都被刪除。
二面1、介紹dqn的專案
2、陣列的全排列(空間複雜度o(1))
陣列中有重複元素,所以我們需要乙個set儲存已經出現過的排列。因此我先寫了乙個回溯的方法,可是空間複雜度比較高,面試官說能不能用o(1)的空間複雜度,全排列直接print出來就行。即我們不需要儲存已經出現過什麼排列。這需要對陣列先進性排序。
3、兩堆鈔票,盡可能均分(利用揹包問題的思想)
想了半天,寫出來乙個深度優先搜尋的演算法。面試官提示我可以考慮從揹包問題的角度出發,但最後也沒想出來。
三面:1、無向無環圖中,最短路徑的最大值(o(n^3)的解法)
這裡考察的其實就是floyd演算法。哎,只可惜自己當時沒有複習圖的相關演算法,完全不會寫呀。
演算法思想原理:floyd演算法是乙個經典的動態規劃演算法。用通俗的語言來描述的話,首先我們的目標是尋找從點i到點j的最短路徑。
從任意節點i到任意節點j的最短路徑不外乎2種可能,1是直接從i到j,2是從i經過若干個節點k到j。所以,我們假設dis(i,j)為節點u到節點v的最短路徑的距離,對於每乙個節點k,我們檢查dis(i,k) + dis(k,j) < dis(i,j)是否成立,如果成立,證明從i到k再到j的路徑比i直接到j的路徑短,我們便設定dis(i,j) = dis(i,k) + dis(k,j),這樣一來,當我們遍歷完所有節點k,dis(i,j)中記錄的便是i到j的最短路徑的距離。
2、lstm的公式
3、rnn為什麼出現梯度消失
4、bptt的推導。
頭條 msra幾道面試題
頭條 題目1,給定乙個無向圖,找兩個節點之間的最短距離,這個其實就是bfs就可以 題目2,給定100e長度的陣列,資料型別unsignedfloat64,你只有2g的記憶體,如何找出中位數。題目3,leetcode原題33.search in rotated sorted array。解決迴圈陣列的...
今日頭條面試題 基礎練習
都是基礎題目,也起來也挺繞的 作為乙個手串藝人,有金主向你訂購了一條包含n個雜色串珠的手串 每個串珠要麼無色,要麼塗了若干種顏色。為了使手串的色彩看起來不那麼單調,金主要求,手串上的任意一種顏色 不包含無色 在任意連續的m個串珠裡至多出現一次 注意這裡手串是乙個環形 手串上的顏色一共有c種。現在按順...
c 病句 今日頭條面試題
試題描述 為了提高文章質量,每一篇文章 假設全部都是英文 都會有m名編輯審核,每個編輯獨立工作,會把覺得有問題的句子通過下標記錄下來,比如 1,10 1表示病句的第乙個字元,10表示病句的最後乙個字元。也就是從1到10個字元組成的句子,是有問題的。現在需要把多名編輯有問題的句子合併起來,送給總編輯進...