最后
本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以送给我的读者朋友们:
目录:
Java面试核心知识点
一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!
Java面试核心知识点
for(int i = level; i <= n; i++)
我们单层的for循环是遍历我们所有的(1,2,3…)
纵向的递归:我们选择的是不断缩小的我们遍历的范围
<4>:递归终止条件
path.size() == n时,这时我们的一种可行结果(就是我们的一种安排作业的顺序 比如1,2,3或则2,1,3)
4:对上方的所有可行解求出最优解
5:图解
===================================================================
/**
分析题意:
题目是批量处理作业调度,那么我们可以得知,这是让我们完成一个作业之后再去完成另一个作业
思路:
1.姑且先给我们的作业边上序号 a,b,c三个作业,那么我们可以得知关于这三个作业的
的安排有6种方式,那么我们的问题就简单了,这是一个全排列问题
2.回归本题,我们知道了是全排列问题,我们可以通过回溯法穷举所有的可行解,然后在
根据可行解求出最优值
3.回溯版的全排列,其实这和分治法那个一样,都是递归求全排列,
<1>:递归函数的参数
backtecking(int n,vector &v)
int n:表示我们选择的是n个作业 从1,2,3…这样的序列我们来求取
vector &v:这里表示我们递归的时候记录哪些元素我们已经访问过
<2>:返回的结果
vector<vector > ans; 存放每次的可行结
vector path; 记录每次的可行解
<3>:横向for循环 和 纵向的递归深度
for(int i = level; i <= n; i++)
我们单层的for循环是遍历我们所有的(1,2,3…)
纵向的递归:我们选择的是不断缩小的我们遍历的范围
<4>:递归终止条件
path.size() == n时,这时我们的一种可行结果(就是我们的一种安排作业的顺序 比如1,2,3或则2,1,3)
4:对上方的所有可行解求出最优解
*/
#include<bits/stdc++.h>
using namespace std;
vector<vector > ans;
vector path;
void backtacking(int n,vector &v) {
//递归终止的条件
if(path.size() == n){
ans.push_back(path);
return;
}
for(int i = 1; i <= n; i++) {
if(v[i] == true) continue;
v[i] = true;
path.push_back(i);
backtacking(n,v);//这里的level+1代表的是我们每次的遍历范围在变小
path.pop_back();//当我们得到一种可行解的时候,因为我们要回溯求取其他的解,所以清理最后装进容器的元素
v[i] = false;
}
}
int main(){
int N;
vectorv1(100),v2(100);
vector v3(100,false);
vectorv4;//记录最后每种排列的所求时间和
cin >> N;
for (int i = 1; i <= N; i++) {
cin >> v1[i];
}
for (int i = 1; i <= N; i++) {
cin >> v2[i];
}
//cout << v1[1] << ’ ’ << v1[2] << ’ ’ << v1[3];
backtacking(N,v3);
//cout << endl;
for (int i = 0; i < ans.size(); i++) {
int sumTime1 = 0;
int sumTime2 = 0;
int sumTime3 = 0;//记录一种排列最后的完成总时间
for (int j = 0; j < N; j++){
//cout << ans[i][j] << ’ '; // 1 2 3
int index = ans[i][j];
sumTime1 += v1[index];//这里计算在机器1上的完成时间
sumTime2 = sumTime1; //因为在机器二上的完成时间需要在机器1上完成后才可记录
sumTime2 += v2[index];//这里记录在机器2上的完成时间
sumTime3 += sumTime2;//记录所有作业的完成时间和
}
最后
分享一套我整理的面试干货,这份文档结合了我多年的面试官经验,站在面试官的角度来告诉你,面试官提的那些问题他最想听到你给他的回答是什么,分享出来帮助那些对前途感到迷茫的朋友。
面试经验技巧篇
- 经验技巧1 如何巧妙地回答面试官的问题
- 经验技巧2 如何回答技术性的问题
- 经验技巧3 如何回答非技术性问题
- 经验技巧4 如何回答快速估算类问题
- 经验技巧5 如何回答算法设计问题
- 经验技巧6 如何回答系统设计题
- 经验技巧7 如何解决求职中的时间冲突问题
- 经验技巧8 如果面试问题曾经遇见过,是否要告知面试官
- 经验技巧9 在被企业拒绝后是否可以再申请
- 经验技巧10 如何应对自己不会回答的问题
- 经验技巧11 如何应对面试官的“激将法”语言
- 经验技巧12 如何处理与面试官持不同观点这个问题
- 经验技巧13 什么是职场暗语
面试真题篇
- 真题详解1 某知名互联网下载服务提供商软件工程师笔试题
- 真题详解2 某知名社交平台软件工程师笔试题
- 真题详解3 某知名安全软件服务提供商软件工程师笔试题
- 真题详解4 某知名互联网金融企业软件工程师笔试题
- 真题详解5 某知名搜索引擎提供商软件工程师笔试题
- 真题详解6 某初创公司软件工程师笔试题
- 真题详解7 某知名游戏软件开发公司软件工程师笔试题
- 真题详解8 某知名电子商务公司软件工程师笔试题
- 真题详解9 某顶级生活消费类网站软件工程师笔试题
- 真题详解10 某知名门户网站软件工程师笔试题
- 真题详解11 某知名互联网金融企业软件工程师笔试题
- 真题详解12 国内某知名网络设备提供商软件工程师笔试题
- 真题详解13 国内某顶级手机制造商软件工程师笔试题
- 真题详解14 某顶级大数据综合服务提供商软件工程师笔试题
- 真题详解15 某著名社交类上市公司软件工程师笔试题
- 真题详解16 某知名互联网公司软件工程师笔试题
- 真题详解17 某知名网络安全公司校园招聘技术类笔试题
- 真题详解18 某知名互联网游戏公司校园招聘运维开发岗笔试题
资料整理不易,点个关注再走吧
聘运维开发岗笔试题
[外链图片转存中…(img-HbDuM6gL-1715623431938)]
资料整理不易,点个关注再走吧