资讯专栏INFORMATION COLUMN

ARTS(第一周)

liuyix / 981人阅读

摘要:刚开始可能需要问别人,后面可以或者追踪代码。编程是终身学习的过程,有经验的工程师会为了解决未解决的问题而不断去学习,只等待是无用的。通过使用这种分布式策略,可以降低成本并提高效率。

Algorithm

LeetCode 145. Binary Tree Postorder Traversal

后序遍历二叉树

Given a binary tree, return the postorder traversal of its nodes" values.

Example:

Input: [1,null,2,3]

   1
    
     2
    /
   3

Output: [3,2,1]
Follow up: Recursive solution is trivial, could you do it iteratively?

迭代版本

class Solution {
    public List postorderTraversal(TreeNode root) {
        List result = new ArrayList<>();
        Stack s = new Stack<>();
        TreeNode p = root;
        // 记录上一次被访问的节点
        TreeNode q = null;
        do{
            //先找到最左下角的节点,记录沿途的位置
            while(p!=null){
                s.push(p);
                p = p.left;
            }
            q = null;
            while(!s.isEmpty()){
                p = s.pop();
                //BCA的访问次序,如果上一次访问了C,那么A就是该访问的节点
                if(p.right == q){
                    result.add(p.val);
                    q = p;
                }else{
                    //二次进栈
                    s.push(p);
                    p = p.right;
                    break;
                }
            }
            
        }while(!s.isEmpty());
        return result;
    }
}
Review

The Key To Accelerating Your Coding Skills
主题为提升编码技能的关键,首先提出获得解决问题的能力比开发一些应用更加重要。

指导阶段,3-8周,入门阶段啥都不懂

起步阶段的学生,最重要的是关注细节
根据错误信息调试很重要,
随着经验增长,可以学会解读错误信息,抽取相关问题细节,从错误问题中学习经验,不要只是修复完就算了。
刚开始可能需要问别人,后面可以google或者追踪代码。
编程是终身学习的过程,有经验的工程师会为了解决未解决的问题而不断去学习,只等待是无用的。

大师失败的次数比菜鸟尝试的次数还要多得多!

进入下个阶段前,你有如下的特征:
你见过了足够多的错误了,并且它们不再困扰着你
你已经熟悉用google搜寻答案了
你可以将你的代码遵循一定规则应用到其他的地方了

拐点阶段,2-4周,正确的思维方式

最令人困扰的阶段,根据指导,没有现成的方法解决你的问题
困扰的原因是:
编码速度比上个阶段慢了10-20倍
剩余的日子,每天都要突破你的限制,不要待在舒适区

关于web开发,有两个转折点会一同到来
不要做个CRUD BOY,试试整合第三方的库
学好数据结构和算法
它们是编程王国的钥匙

招聘主管喜欢扎实基础的算法和开发工程师
不要追寻热点技术,基础扎实学起来都快
变得依赖自己,不要等着别人来帮助

写代码时候,想想之前是否写过类似的,可否借鉴
视频吞掉了细节,查看API文档更加快速

尽可能有效的度过拐点阶段

指导阶段,做一些没有指导的任务
尽可能少的使用指导
文档假设你已经是度过拐点的开发者,适量阅读遵循github文档对你更有帮助
重点关注重要且频繁使用的事情
要明白这是困难的阶段,放轻松你自己
如果你缺乏自信,找那些度过拐点的人聊聊,坚持学习,但不要太大负担,一天不要超过6小时,否则会加长这个阶段的时间。
最好获取自信的方法是解决困惑你的问题,如果你挣扎了15个小时,那么之后就会平静下来
如果5分钟或者5小时没思路,你会有困扰,但是你成功的次数多了,你的自信心会迅速增长

如何知道自己度过了拐点阶段

拐点度过之后是接受以下的事实:
软件开发是持续的学习(还得学……)
如果你觉得自己对所有都掌握了,那么应该解决更复杂的问题了

Tip

使用VSCode来开发Java

Share

雾计算和边缘计算对物联网的意义何在?
雾计算其响应更快,过滤信息,取决于网关灵活性,解决带宽瓶颈和延迟问题
雾计算将一些处理和资源置于云的边缘,它不是为云存储和计算建立渠道,而是减少信息的发送降低对带宽的需求,再在某些接入点进行聚合。通过使用这种分布式策略,可以降低成本并提高效率。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73987.html

相关文章

  • ARTS 一周

    摘要:以前在学校的时候还写算法题,工作快年了,只剩下个影响。按照难度排名最低的一道题错了次,第五次才。 Algorithm 以前在学校的时候还写算法题,工作快2年了,只剩下个影响。按照难度排名最低的一道题错了4次,第五次才 AC。showImg(https://segmentfault.com/img/bVbpRxt?w=3344&h=1778); Review Tip Share

    GitChat 评论0 收藏0
  • 多特蒙德主题本地个人任务清单小demo,你值得尝试!

    摘要:最后就是用各种的数据进行判断,渲染。否则任务的完成时间会出错,导致页面渲染错误。组件正在开发中,后期会分享,缺少弹窗提示,这里的操作动作很多,完全可以开发一个弹窗组件,方便用。 一,demo背景: 1,可以熟悉原生js 2,平时不知道自己学完js要做些什么东西的小伙伴 3,自己写的,可以当做自己的作品 4,为广大想练习练习原生js的贡献一个素材 二,实现功能: 1,新建/删除任务...

    Big_fat_cat 评论0 收藏0
  • 多特蒙德主题本地个人任务清单小demo,你值得尝试!

    摘要:最后就是用各种的数据进行判断,渲染。否则任务的完成时间会出错,导致页面渲染错误。组件正在开发中,后期会分享,缺少弹窗提示,这里的操作动作很多,完全可以开发一个弹窗组件,方便用。 一,demo背景: 1,可以熟悉原生js 2,平时不知道自己学完js要做些什么东西的小伙伴 3,自己写的,可以当做自己的作品 4,为广大想练习练习原生js的贡献一个素材 二,实现功能: 1,新建/删除任务...

    wuaiqiu 评论0 收藏0
  • 多特蒙德主题本地个人任务清单小demo,你值得尝试!

    摘要:最后就是用各种的数据进行判断,渲染。否则任务的完成时间会出错,导致页面渲染错误。组件正在开发中,后期会分享,缺少弹窗提示,这里的操作动作很多,完全可以开发一个弹窗组件,方便用。 一,demo背景: 1,可以熟悉原生js 2,平时不知道自己学完js要做些什么东西的小伙伴 3,自己写的,可以当做自己的作品 4,为广大想练习练习原生js的贡献一个素材 二,实现功能: 1,新建/删除任务...

    FullStackDeveloper 评论0 收藏0
  • [LeetCode] 839. Similar String Groups

    Problem Two strings X and Y are similar if we can swap two letters (in different positions) of X, so that it equals Y. For example, tars and rats are similar (swapping at positions 0 and 2), and rats ...

    scq000 评论0 收藏0

发表评论

0条评论

liuyix

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<