不能截屏和拍照,凭记忆会议一下,做个记录,当做笔记了
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;
}