不能截屏和拍照,憑記憶會議一下,做個記錄,當做筆記了
1、下列賦值語句正確的是
A、a,b,c = 1,2,"john"
B、[a,b] = ['1','2']
C、a = ['abc',4,'python']
D、a = b = c = 1
解析: ABCD都對
2、以下程序的輸出是?
class Dog:
role = 'Dog'
def __init__(self,name):
self.name = name
def run(self):
print("Dog is running...")
print(Dog.role)
print(Dog.run)
答案:
解析:函數名是⼀個變量, 但它是⼀個特殊的變量, 與括號配合可以執⾏函數的變量. 當打印函數名的時候會發現出現的是一個內存地址. 函數名可以賦值給變量
3、已知概率密度函數和樣本值,求參數θ
4、下面程序的輸出是?
#include<iostream>
using namespace std;
int main() {
int n = 10;
int ans = 0;
int cur, x;
for (int s = 0; s < 1024; ++s) {
cur = 0;
for (int j = 0; j < 10; ++j) {
x = (1 << j)&s;
if (x != 0) {
cur++;
}
}
if (cur == 3) {
ans++;
cout << "ans= " << ans << endl;
}
}
cout << ans << endl;
return 0;
}
答案:0000000000 中選3個置爲 1 ,答案爲C10 3, 結果爲120.
5、以下程序輸出爲?
#include<iostream>
using namespace std;
int fun(int a, int b) {
return b == 0 ? a : fun(b, a%b);
}
int main() {
int a = 636, b = 9;
cout << a*b / fun(a, b) << endl;
return 0;
}
答案:fun()的作用很明顯是輾轉相除法(又叫歐幾里得算法)求最大公約數,所以結果爲 636*9/3 = 1908
6、霍夫曼樹又叫最優二叉樹
7、LDA和PCA下列區別正確的是?
A、LDA與PCA都是常用的降維技術。PCA主要是從特徵的協方差角度,去找到比較好的投影方式。
B、LDA更多的是考慮了標註,即希望投影后不同類別之間數據點的距離更大,同一類別的數據點更緊湊。
7、單例模式中,單例類構造函數的可見性爲()
A、public
B、private
C、protected
D、都不對
答案:B
8、相關係數和協方差的關係
編程: 行增,列增的二維數組裏面找目標值,複雜度爲N方和N+M的都寫一下
#include<iostream>
#include<vector>
using namespace std;
//bool findTargetNum(vector<vector<int>>& vec, int target) {
// int rows = vec.size();
// int cols = vec[0].size();
// for(int i = 0; i < rows; i++)
// for (int j = 0; j < cols; j++) {
// if (vec[i][j] == target)
// return true;
// else return false;
// }
//
//}
bool findTargetNum(vector<vector<int>> &vec, int target) {
int rows = vec.size();
int cols = vec[0].size();
int start_row = 0;
int start_col = cols - 1;
while (start_col >= 0 && start_row < rows) //時間複雜度爲m+n,注意這個地方是小於號,沒有等於,邊界條件一定要清楚
{
if (vec[start_row][start_col] == target) return true;
else if (vec[start_row][start_col] > target )
start_col--;
else if (vec[start_row][start_col] < target)
start_row++;
}
return false;
}
int main() {
int m, n;
cin >> m >> n;
vector<vector<int>> input(m,vector<int>());
for (int i = 0; i < m; i++) {
while(1){
int temp;
cin >> temp;
input[i].push_back(temp);
if (cin.get() == '\n') break;
}
}
bool result = findTargetNum(input,10);
cout << result;
}