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

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

注意事项:

  • 简历应该真实
  • 简历不写无足轻重的信息,突出重点。
  • 多读自己的简历,假想你是招聘人员,能从你的简历上获取到什么信息。

ARTS 第 1 周的更多相关文章

  1. ARTS第十周

     之前忘了发布 1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3.Tip:学习至少一个技术技巧4.Share:分享一篇有观点和思考的 ...

  2. ARTS第十一周

    受辞职考研和新冠肺炎疫情影响,一直没更.遗憾,数学和专业课再高点就有戏了.继续. 1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3. ...

  3. ARTS第八周

    1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3.Tip:学习至少一个技术技巧4.Share:分享一篇有观点和思考的技术文章 以下是 ...

  4. ARTS第六周

    第六周.后期补完,太忙了. 1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3.Tip:学习至少一个技术技巧4.Share:分享一篇有 ...

  5. ARTS第五周

    -第五周.这两周在复习大学里的课程,发现当时觉得课上很多看不懂的,现在看起来轻松多了,也带来了新的感悟. 1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评 ...

  6. ARTS第三周

    第三周.上周欠下了 赶紧补上,糟糕了 还有第四篇也得加紧了 难受. 1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3.Tip:学习至 ...

  7. ARTS 第十周打卡

    Algorithm : 做一个 leetcode 的算法题 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: [&quo ...

  8. ARTS 第八周打卡

    Algorithm : 做一个 leetcode 的算法题 13. 罗马数字转整数 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符          数值 I         ...

  9. ARTS第七周打卡

    Algorithm : 做一个 leetcode 的算法题 ////////////////////////////////////////////////////////////////////// ...

随机推荐

  1. redis简单了解与简单使用

    redis数据库 为什么要学习redis """ 1.redis是内存 no-sql 数据库,相比mysql等硬盘数据库效率高 2.在内存值配置数据库使用,而不直接使用内 ...

  2. You are attempting to install the android sdk inside your android studio installation

    原因 我的android studio文件名为AndroidStudio 我的android studio sdk文件名为AndroidStudioSDK 所以系统把AndroidStudioSDK自 ...

  3. 吴裕雄--天生自然 PYTHON3开发学习:MongoDB

    import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclien ...

  4. socket 基础 X-mind

  5. Opencv笔记(一):图像的基本操作

    1.图像的读.显示和保存操作 import cv2 img = cv2.imread('filename',0); cv2.imshow('name',img); k=cv2.waitKey(0); ...

  6. 用bosybox制作文件系统

    在orangepi_sdk/source/busybox-1.25.0目录里有源码. ). 先清除编译出来的文件及配置文件 make distclean ). 配置busybox make menuc ...

  7. spring自带的定时任务功能,基于注解和xml配置

    1.spring的配置文件 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&quo ...

  8. CNN Mini-Fashion数据集以及Pytorch初体验

    下载Fasion-MNIST数据集 Fashion-MNIST是一个替代原始的MNIST手写数字数据集的另一个图像数据集. 它是由Zalando(一家德国的时尚科技公司)旗下的研究部门提供.其涵盖了来 ...

  9. docker里修改时间

    在docker容器里,你会发现,你根本无法通过命令修改时间.这时我们就可以通过/etc/localtime这个配置文件修改时间了.但这个配置文件是一个二进制的文件,里面根本就是一堆乱码.所以我只好拷贝 ...

  10. 必应翻译:让Windows上的翻译不再是难事

    文章译自:Translations Made Easy on Windows 比方说今年夏天你想出国旅行,计划去一趟德国.你的行程很丰富:参观慕尼黑和柏林,乘坐游船沿莱茵河而下,再品尝几串摩泽尔的葡萄 ...