26数学转码 求方向

#牛客解忧铺# 本硕双9 数学 信息与计算科学专业 本科期间学过cpp,但掌握不深,编程约为零基础。会python和matlab基础,请问各位大佬 是走java开发还是试一试去卷算法呢?
具体应该怎么去准备呢?
全部评论
双九数学搞java真没必要,基本是从头学,第一之前的数学背景全部浪费沉没成本极大,第二java是目前最卷的一个方向,你下一步的学习成本也是极高
6 回复 分享
发布于 2024-02-12 13:47 天津
你好,很高兴为你解答。首先,你的数学背景对于转码非常有优势,因为编程和算法都需要扎实的数学基础。 关于选择Java开发还是算法,这取决于你的兴趣和职业规划。如果你对软件开发和Web开发感兴趣,Java是一个不错的选择。如果你对数据分析、机器学习和人工智能感兴趣,那么算法可能是更好的选择。 无论你选择哪个方向,都需要进行系统的学习和实践。以下是一些建议: 1. 学习编程语言:如果你选择Java,你需要学习Java基础知识、Java Web开发、Spring框架等。如果你选择算法,你需要学习Python、数据结构和算法等。 2. 参加在线课程:有许多优秀的在线课程可以帮助你学习编程和算法,例如Coursera、Udemy、慕课网等。 3. 实践项目:通过实际项目来提高自己的技能。你可以从一些简单的项目开始,例如开发一个博客网站或一个小游戏,然后逐渐过渡到更复杂的项目。 4. 参加编程竞赛:参加编程竞赛可以帮助你提高编程技能,例如LeetCode、Codeforces等。 5. 建立个人项目:建立一个个人项目,展示你的技能和兴趣。这将有助于你在面试中脱颖而出。 6. 寻找实习机会:实习可以帮助你获得实际工作经验,这对于找工作非常重要。 7. 参加社区活动:参加编程社区活动,例如Meetup、论坛等,可以帮助你结识志同道合的人,并了解行业动态。 最后,记住学习编程和算法需要时间和耐心。不要急于求成,要脚踏实地地学习和实践。祝你转码成功!
点赞 回复 分享
发布于 2024-02-02 17:02 AI生成
建议算法
点赞 回复 分享
发布于 2024-02-12 13:45 天津
你现在研究生方向是哪个呢?尽量往那上面靠
点赞 回复 分享
发布于 2024-02-21 20:24 湖北
可以去看看制造业的it部门
点赞 回复 分享
发布于 2024-05-08 13:35 马来西亚
m
点赞 回复 分享
发布于 2024-10-29 14:31 广东
Java。不是卷不卷的问题,而是其他写的实在太无聊了
点赞 回复 分享
发布于 03-01 20:15 湖南

相关推荐

美团 数据开发 21k-40k
点赞 评论 收藏
分享
03-08 16:59
已编辑
东北大学 Java
#淘天笔试# #淘天# #笔试# 考虑换根DP,先随便找个点做根,每个点只统计这个有根树下它的子树对它的贡献,也就是if(color[u] != color[v]) color[u] += color[v];这样我们只能统计出子树的贡献,我们还需要父亲的贡献,父亲的贡献我们考虑扩展并查集,在dfs过程中顺便合并一下就能够得到每个点所在并查集的size,如果一个点和它的父亲不同颜色,那么就是相同并查集,直接用并查集size减去dp求出的子树贡献就是父亲的贡献,然后第二遍dfs,把每个点任意一种颜色都试一下,我们提前知道子树的贡献是多少,可以根据现在我们变的颜色统计一下现在的子树和,看看父亲跟他现在是不是一个颜色,是的话不加贡献,不然加上贡献,和ans取最大值即可。代码如下:#include# include#include# include#include# include#include# include#include# include#include# include#includeusing ll = long long;using ull = unsigned long long;const int maxn = 1e6 + 5;int fa[maxn],sum[maxn],siz[maxn];std::string color;char col[] = {'R','G','B'};int ans  = 0;int find(int x){    return x == fa[x] ? x : find(fa[x]);}void merge(int x,int y){    x = find(x), y = find(y);    if(x == y) return;    siz[x] += siz[y];    fa[y] = x;}std::vector g[maxn];void dfs(int u,int fa){    sum[u] = 1;    for(int i = 0;i < g[u].size();i++){        int v = g[u][i];        if(v == fa) continue;        dfs(v,u);        if(color[u] == color[v]){            sum[u] += sum[v];            merge(u,v);        }    }}void dfs2(int u,int fa){    int sfa = (find(u) == find(fa)) ? siz[find(u)] - sum[u] : siz[find(fa)];    for(int i = 0;i < 3;i++){        char c = col[i];        int s = 1;        for(auto& v : g[u]){            if(v == fa) continue;            if(c != color[v]) s += sum[v];        }        if(c != color[fa]) s += sfa;        ans = std::max(ans,s);    }    for(auto& v: g[u]){        if(v == fa) continue;        dfs2(v,u);    }}void solve(){    int n;    std::cin >> n;    std::cin >> color;    for(int i = 1;i <= n;i++){        siz[i] = 1;        fa[i] = i;    }    for(int i = 0;i < n - 1;i++){        int u,v;        std::cin >> u >> v;        g[u].push_back(v);        g[v].push_back(u);    }    dfs(1,0);    dfs2(1,0);    std::cout << ans << '\n';}int main() {    int T;    T = 1;    while(T--) solve();    return 0;}
投递淘天集团等公司10个岗位 笔试
点赞 评论 收藏
分享
评论
3
3
分享

创作者周榜

更多
牛客网
牛客企业服务