这段时间,我竟然在纠结学Java还是Python,我对Java的学习已经有两三年了,为什么会有学python的冲动呢?主要是因为导师的研究方向是人工智能。
四处打听
我对毕业之后做什么这个话题很感兴趣,所以四处打听了一下关于毕业之后的去向。 【工作】,其实我刚开始的想法也是去工作,但是工作需要掌握哪些技能呢,是导师的研究方向,还是本科学的东西呢。首先要清楚一点,人工智能领域出来的大部分都是算法工程师,这个岗位我有个刻板印象就是需要聪明的头脑,所以自己感觉不适合。经过打探这个岗位对学历要求比较高,最好是985,当然了博士的话会好一些。我从心里也不是太感兴趣,但是为什么会纠结呢,主要是因为,硕士毕业需要这些,毕竟要发论文嘛。现在的状态就是继续我的Java学习,人工智能领域就等开学吧。
【读博】,另一个去向就是读博,如果读博的话,那就要对人工智能好好研究了,不能再局限于Java了。走这条路对论文的要求也挺高的,一般至少要有一篇sci吧,如果要读博的话,感觉硕士阶段就要全身心的投入到人工智能了。
【考公考编】这条路我暂时没怎么考虑。
回归正文
经过上面的四川打探,我目前还是选择了Java,Python的话,更多的是用于人工智能领域(其他领域我不懂),而这个领域要求又太高,说白了就是自己够不到,所以选择了Java,但凡我聪明点,肯定选人工智能,奈何不聪明。 Java对我来说也算是老朋友了,来回换我感觉成本也挺高的(虽然转的比较快),而且Java领域感觉也挺好找工作的,而且进大厂的概率比较高。 另外一个方面是关于自主创业,我觉得Java领域自主创业比人工智能简单点,从我的认知来看,Java更容易接项目,而且相对简单,当然竞争应该也会激烈吧。 说了这么多,都是在吹Java,其实Java有一点不太好,那就是人太多了,特别是培训机构出来的人很多,所以竞争也挺激烈的。
文末
有人说,有这么多时间在这纠结,还不如学点东西呢,说的也是哈,来个力扣题吧。 题目描述 解题思路 就是每一次尽量跳的远,而且跳到的位置值要大,满足这两个条件可以通过一个表达式nums[j] + j,num[j]是代表该点的值大,j是代表离起点的位置。
程序代码
class Solution {
public boolean canJump(int[] nums) {
int n = nums.length;
if(n == 1) {
return true;
}
for(int i = 0; i < n;) {
int maxn = i;
if(i + nums[i] >= n - 1) {
return true;
}
for(int j = i + 1; j <= i + nums[i]; j++) {
if(nums[j] + j >= nums[maxn] + maxn) {
maxn = j;
}
}
if (maxn > i) {
i = maxn;
} else {
return false;
}
}
return false;
}
}
|