写点什么

2023 ARTS 打卡第一周

作者:犇犇
  • 2023-08-21
    北京
  • 本文字数:2187 字

    阅读完需:约 7 分钟

Algorithm:

求数组中最长递增子序列长度。写一个时间复杂度尽可能低的程序,求一个一维数组(N 个元素)中最长递增子序列的长度。

时间复杂度 O(n^2),空间复杂度 O(n)。


    public int getMaxLen(int[] arr) {        if (arr.length == 0) {return 0;}    int[] maxLen = new int[arr.length];
//遍历寻找arr[i]的最长递增序列,找到后若比当前arr[i]的最长递增序列大,就更改 for (int i = 0; i < arr.length; i++) { maxLen[i] = 1; for (int j = 0; j < i; j++) { if (arr[i] > arr[j] && maxLen[j] + 1 > maxLen[i]) { maxLen[i] = maxLen[j] + 1; } } }
int max = 0; for (int i = 0; i < arr.length; i++) { max = maxLen[i] > max ? maxLen[i] : max; }
return max;}
复制代码


Review:

看安卓官方文档:https://developer.android.google.cn/topic/libraries/architecture/lifecycle介绍周期感知组件 androidx.lifecycle 

前一阵面试,也有两次被问到,答的不太好。学习还是应该系统一点,官方内容是第一手资料更权威。


Tips:

用 repo 命令拉取代码库:

repo 是 Android 为了方便管理多个 git 库而开发的 python 脚本。repo 的出现,并非为了取代 git,而是为了让 Android 开发者更为有效的利用 git。Android 源码包含数百个 git 库,仅仅是下载这么多 git 库就是一项繁重的任务,所以在下载源码时,Android 就引入了 repo。repo 需要关注当前 git 库的数量、名称、路径等,有了这些基本信息,才能对这些 git 库进行操作。通过集中维护所有 git 库的清单,repo 可以方便的从清单中获取 git 库的信息。 这份清单会随着版本演进升级而产生变化,同时也有一些本地的修改定制需求,所以,repo 是通过一个 git 库来管理项目的清单文件的,这个 git 库名字叫 manifests。repo 是一系列脚本的集合,这些脚本也是通过 git 库来维护的,这个 git 库名字叫 repo。

在客户端使用 repo 初始化一个项目时,就会从远程把 manifests 和 repo 这两个 git 库拷贝到本地,但这对于 Android 开发人员来说,又是近乎无形的(一般通过文件管理器,是无法看到这两个 git 库的)。 repo 将自动化的管理信息都隐藏根目录的.repo 子目录中。参考:https://www.jianshu.com/p/ecea8882d41e


工作多年却才接触这个命令。。

使用时,需先 repo init [各种参数],再进行 repo sync。公司的项目库比较大,使用过程中出现 fetch errors 异常提示,可在同步时加参数:repo sync -jx -f --force-sync。 x 是线程数量,数值根据你电脑的配置来决定。使用过程中可能卡住,并且因为是多线程,具体卡在哪个进度上也不是固定的,若卡住了,可 ctrl+z 或 ctrl+c 停止后再重新尝试,好像没啥好办法,也可改变下 x 值试试,因为线程数量多了可能有冲突。我用两个目录下分别拉取代码,一个多次尝试后终于成功,另一个一直未成功。。


Share:

关于职业发展规划:

知乎上看到一个讨论大龄程序员是专注做技术还是转做管理的讨论。有说管理太务虚,各种鸡毛蒜皮的扯皮的事,被裁员后更难找合适的坑,不如专注做技术专家更有竞争力。也有说,管理面对很多沟通协调管理,处理人和事的各种关系,能力更综合更全面,个人贡献者转到团队贡献者是不小的转变。例举了一系统典型管理的场景,要有相应的管理认知意识和能力技巧处理好,也是不易。


以前有个同事说:或者做核心技术,或者带团队做管理,都是可选的方向。


职场路径,各种情况不一而足。有些人不喜欢或不适合做管理,一直安心专注技术也不错;有些人技术一般,但善长沟通协调知人善任,适合做管理;有些技术做的好,职业早期就有机会做了管理一路成长;有些则技术和软能力积累多年,也遇到合适机会做了管理;也有些想做管理却一直没啥机会。。


最怕的就是做了多年,技术没做的很精深,软实力也跟不上,年龄渐增性价比下降,替代性很强容易被淘汰。。求职岗位有些可能不限制年龄,也会写上:要求有与工作年限相匹配的职级或能力。所以我想,保持学习和成长,多思考多琢磨多积累总结,不安于现状,不断突破舒适区,低头做事也要抬头看路,脚踏实地也要仰望星空。工作中调整好心态,两份收入:赚工资还赚能力,做一份工作时想着自己最想从这份工作中学到什么,离开时能带走什么,是锻炼专业能力,积累资源和人脉,学习企业文化和制度流程等等。在商言商,赚不到钱了,学不到新东西了,或者领导不够常识了,即不能与企业成长同频了,就面临着主动或者被动离开。那么自己要保持随时能离开的能力,一年半载的去面一面看看行情找找差距,努力把握主动权。能与一家公司相伴一起成长,琴瑟和鸣是最好的状态了。管理者角度就是,栽培员工,让他们强大到足以离开。对他们好,好到让他们想要留下来。这种好公司,靠能力,也很大程度靠运气,而运气又偏爱有准备的头脑。


现在需要 T 型甚至π型人才,有深度也要有广度,有一个甚至两个多个的专业深度特长,才更有竞争力。工作做好的同时,也要想着做投资理财,做副业做第二曲线,由第一曲线上自己延展的副业更好,以副辅主,主副共兴。做副业和第二曲线,要在主业做的好的时候,有余力时再开拓,在低谷期临时开展恐怕有点远水难解近渴。人无远虑必有近忧,有道理啊。另外,保险可以考虑做些配置,做兜底做风险对冲,减少后顾之忧,更好的放手大胆向前冲。


以上,说的有点发散,也很多大家都懂的片汤话大道理。希望也许对有些人有点小启发,分享给大家。

发布于: 刚刚阅读数: 3
用户头像

犇犇

关注

还未添加个人签名 2017-11-23 加入

还未添加个人简介

评论

发布
暂无评论
2023 ARTS打卡第一周_ARTS 打卡计划_犇犇_InfoQ写作社区