美文网首页程序媛在公司的进修之路
程序媛在公司的进修之路

程序媛在公司的进修之路

作者: 小芹菜_4d69 | 来源:发表于2018-03-09 16:40 被阅读0次

    没错,我是一个程序媛,明明可以靠颜值却偏偏想靠实力的程序媛。想通过自己的专业在互联网公司占有一席之地。非名校出身,专业基础知识浅薄,没看过什么技术博客也没写过什么技术博客。通过人品挤进一家大型互联网公司做起了JAVA程序媛。

    本着笨鸟先飞的原则,在毕业之前就主动申请来公司实习,开始了我在公司的进修之路。现在刚刚做完周汇报,老大、师傅和同事都没有难为我问什么问题。没错,第一周的周汇报。 来这里第一天老大和师傅就询问了自己的技术怎么样,实话实说。师傅默默找出一本《JAVA编程思想》布置了第一周的任务:
    1.java基础知识回顾:java编程思想1-6章。
    2.git基础知识学习:学习git的clone、commit、fetch、push、rebase等基本操作,学会处理冲突。
    3.使用java完成汉诺塔问题,有 3 个塔和 N 个可用来堆砌成塔的不同大小的盘子。要求盘子必须按照从小到大的顺序从上往下堆(如,任意一个盘子,其必须堆在比它大的盘子上面)。
    同时,你必须满足以下限制条件:
    (1) 每次只能移动一个盘子。
    (2) 每个盘子从堆的顶部被移动后,只能置放于下一个堆中。
    (3) 每个盘子只能放在比它大的盘子上面。
    (4) 使用堆栈模拟该问题,不能使用递归。
    (5) 盘子和塔使用对象表示。
    (6) 输入盘子数量,打印移动过程。
    (7) 给出算法时间空间复杂度。

    好了,大家应该知道我是啥水平了。。。。部门其实工作时间很灵活,只要保证上午九点半到下午四点半在工位就行,但自己还是每天八点到工位,晚上七点之后走。一周学习任务基本,但通过汇报还是有所反思:
    1、部门很注重JAVA命名规范问题,以后注意;
    2、面向对象思想体现的的不极致,盘子和塔也要封装成对象(我认为没必要就忽略了这一条);
    3、网上的算法即使搬过来也要自己仔细看,推敲。(被师傅问到了一个问题)。
    4、养成做读书笔记的好习惯

    最后奉上汉诺塔算法:

    
    import java.util.Scanner;
    class Problem {
        int n,n1;
        char A,B,C;
        public Problem(int n, char A, char B, char C,int n1) {
            this.n = n;
            this.A=A;
            this.B=B;
            this.C=C;
            this.n1=n1;
        }
    }
    public class HanoiStack {
        public static void main(String[] args) {
                Stack hanoi = new MyArrayStack();
                System.out.println("请输入盘子的数量");
                Scanner s=new Scanner(System.in);
                int number=s.nextInt();
                hanoi.push(new Problem(number, 'A', 'B', 'C',number));
                Problem myProblem = null;
                while (!hanoi.isEmpty()) {
                    System.out.println(myProblem);
                    if (myProblem.n == 1) {
                        System.out.println("将盘子"+myProblem.n1+"从塔"+myProblem.A+"移动到塔"+myProblem.C);   
                    } else {
                        hanoi.push(new Problem(myProblem.n-1, myProblem.B, myProblem.A, myProblem.C,myProblem.n-1));
                        hanoi.push(new Problem(1, myProblem.A, myProblem.B, myProblem.C,myProblem.n));
                        hanoi.push(new Problem(myProblem.n-1, myProblem.A, myProblem.C, myProblem.B,myProblem.n-1));
                    }
                }
        }
    }
    

    相关文章

      网友评论

        本文标题:程序媛在公司的进修之路

        本文链接:https://www.haomeiwen.com/subject/fmfmfftx.html