ARTS 具体要求:
1.每周至少做一个 leetcode 的算法题
2.阅读并点评至少一篇英文技术文章
3.学习至少一个技术技巧
4.分享一篇有观点和思考的技术文章
1、Algorithm
Two Sum
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
给定一个整数数组,其中2个值加起来等于一个特定的目标值,然后返回这2个值的索引。您可以假设每个输入都只有一个解决方案,并且不能两次使用相同的元素。
Example:
Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1]. 解法:使用hashmap 存放数组的值和对应索引的位置,然后遍历数组,遍历过程中,特定目标值减去当前遍历元素值,得到另外一个元素的值,然后检查这个元素值是否在map中,并检查他的索引位置是否跟当前遍历元素的索引是否相同。通过检查,则返回2个元素的索引位置。代码如下:
class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map = new HashMap<>(); for(int i=0;i< nums.length;i++){ map.put(nums[i],i); } for(int i=0;i< nums.length;i++){ int elenent = target - nums[i]; if (map.containsKey(elenent)&&map.get(elenent)!=i){ int j = map.get(elenent); return new int[] {i,j}; } } throw new IllegalArgumentException("no two num add up to target "); } } 2、Review 我的英文并不好,甚至可以说是poor了,仅仅能理解一些常见的词汇和句子。我也尝试去读一些英文的技术文章,发现不借助翻译工具的情况下很难完整理解作者的意思,因此在英文学习的路上还需要更多努力才对。第一周,这里分享一篇关于如何看英文技术文档的文章,大家一起共勉。https://www.jianshu.com/p/af7d39cac6b83、TIP在Linux 账户管理的过程中,有时候需要限定特定用户才可以su 到root 用户,下面是我处理的方法:
比如说限定只允许 itoper账户 su 到 root
第一步:找出wheel group 的ID grep wheel /etc/group;
第二步: grep wheel /etc/pam.d/su | grep auth 找出如图2行 去掉注释(注意:第一行注释的情况下,需要root密码,去掉注释就不需要root密码)
第三步:添加itoper 账户进 wheel 组 usermod -G groupID itoper
4、share
做这行不知不觉也有2年了,回过头来审视自己,发现什么都没有留下痕迹,没有写过什么可以拿出手的技术文章,顶多记下一些笔记,或者公司内部的一些指引、说明。用大佬的话说就是被动学习,一直在追求某项技术怎么用,却从没有认真考虑过为什么这么用,这样用有什么好处。回顾之前种种,当引以为戒,不断充实自己,努力前行。
打卡第一周,做的并不够好,希望自己更加努力,越来越好,大家一起努力,加油!
原文地址:https://www.cnblogs.com/yiluozhiren/p/10999281.html