zoukankan      html  css  js  c++  java
  • ARTS 第 1 周

    每周一道算法、点评一篇英文技术文章、学习一个技术技巧、分享一个技术观点和思路

    Algorithm

    题目:两数和

    给定一个整数数组,返回这两个数字的索引,使它们相加为一个指定的数。

    因为是返回两个数字的索引,所以不能对数组排序。就算排序也要保留原始的索引。

    思路 1

    两层循环

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class  {
    public int[] twoSum(int[] nums, int target) {
    for(int i = 0; i < nums.length; i++){
    for(int j = i + 1; j < nums.length; j++){
    if(nums[i] == target - nums[j]){
    return new int[]{i,j};
    }
    }
    }
    throw new RuntimeException("not found");
    }
    }

    beats 26.64%

    思路 2

    使用 HashMap,空间换时间

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class  {
    public int[] twoSum(int[] nums, int target) {
    HashMap<Integer,Integer> map = new HashMap(nums.length);
    for(int i=0;i<nums.length;i++){
    if(map.containsKey(target-nums[i])){
    return new int[]{map.get(target-nums[i]),i};
    }
    map.put(nums[i],i);
    }
    大专栏  ARTS 第 1 周word">throw new RuntimeException("not found");
    }
    }

    beats 99.70%

    Review

    The Key To Accelerating Your Coding Skills

    在学习编程的过程中,从某个时间点开始会觉得“顿悟了”,把这个时间点称为拐点。

    首先是教程阶段(3~8 周严格地编码),在此阶段应该注重细节,从错误信息中学习总结。认识到编程无法一蹴而就,是需要长期持续学习的。

    其次是拐点阶段(正确心态的2-4周),在此阶段会发现你的编码效率提高了 10~20 倍。但是,不要满足,永远保持空杯心态,坚持每天进步一点点。重视基础,学习算法和数据结构。

    最后通过拐点,不再一味追求新的技术,能看透新技术的本质。能根据已学得知识来学习新的技术。积累自己的代码库。

    如何判断是否通过了拐点?其实就是心态的改变。接受软件开发是一个不断学习的过程。接受不断的学习是为了解决更复杂的问题。

    Tip

    本周分享一个 Spring Boot 的注解 @Profile,它有什么用呢?

    它可以标记在任何一个 @Component@Configuration@Bean 上,根据当前环境来决定是否加载。

    举个例子,项目中使用到了 Swagger,只想在开发和测试环境使用。

    1
    2
    3
    4
    5
    6
    7
    8
    2
    @Configuration
    @Profile("dev","test")
    public class Swagger2 {



    }

    spring.profiles.active=dev,test 时,Swagger 才能被访问。

    还可以写成非生成环境 @Profile("!prod")

    注意:在 @Bean 方法上使用 @Profile 时,可能会有一个特殊情况:对于具有相同 Java 方法名称的重载 @Bean 方法(类似于构造函数重载),必须在所有重载的方法上一致地声明 @Profile 条件。

    Share

    最近公司招聘 Java 开发,由我筛选简历,说说我个人从技术人员的角度来看面试机会更大的简历是什么样的。

    • 一份完整的简历。至少包括个人信息、工作经验、项目经验、技能
    • 完整的项目经验。包括项目简介、架构、使用技术、职责、成绩、收获。如果能展示则更好。
    • 技能。展示自己会的技术

    加分项:

    • 入职过大厂
    • 个人博客
    • Github

    注意事项:

    • 简历应该真实
    • 简历不写无足轻重的信息,突出重点。
    • 多读自己的简历,假想你是招聘人员,能从你的简历上获取到什么信息。
  • 相关阅读:
    jquery 只能输入汉字
    实现鼠标移到某个对象,在旁边显示层。
    jquery 清空页面中radio选项
    oracle 删除表中重复的数据
    jQuery 获取屏幕高度、宽度
    jquery清空from表单中的所有数据
    oracle sql语句大全
    mysql sql语句大全
    Java精品书籍推荐
    小萌库
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12147670.html
Copyright © 2011-2022 走看看