ARTS_Week01

每周完成一个ARTS:

Algorithm:每周至少做一个LeetCode算法题;

Review:阅读并评论至少一篇英文技术文章;

Tip:学习至少一个技术技巧;

Share:分享一篇有观点和思考的技术文章;

Algorithm

LeetCode1: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.

Example:

Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

package leetcode_Alg;

import java.util.Arrays;
import java.util.HashMap;

public class L1_Two_Sum {

/*
 * @LittleWang
 * 01 :直接计算  
 */
	public static int[] twoSum1(int[] nums, int target) {
    		
		int[] a=new int[2];
		for(int i=0;i<nums.length;i++)
		{
			for (int j=i+1;j<nums.length;j++)
			{
			  if (nums[j]==target-nums[i])
			  {
			      a[0]=i;
			      a[1]=j;
			  }
			 }
		}
		return a;
	};
	
/*
* @LittleWang
* 02 :Map优化 
*/	
	
	public static int[] twoSum2(int[] nums, int target) {
	
		int[] a=new int[2];
		HashMap<Integer,Integer> map = new HashMap<>();
		
		for(int i=0;i<nums.length;i++)
		{
			int temp = target - nums[i];  
			if (map.containsKey(temp))
			  {
			      a[0]=map.get(temp);
			      a[1]=i;
			  } else{
		            map.put(nums[i],i);
              }
		}
		return a;
    };
    
	public static void main(String[] args){
    	int[] nums={0,1,2,4,6};
    	int target=3;
    	System.out.println(Arrays.toString(twoSum2(nums,target))); //使用数组打印Arrays.toString(a)
    }    
}

 

Review

原文链接:https://dzone.com/articles/redis-in-a-microservices-architecture

Redis in a Microservices Architecture

Redis通常被认为是一个缓存,这篇文章中作者给出了Redis 在微服务框架中与Spring Cloud 和 Spring Data一起的三个应用:

  • configuration server
  • a message broker
  • a database

 

Tip

这周分享关于Map的技巧:

java.util
public interface Map<K, V>

Map的三个特点:键值对,键唯一,键对应值唯一。

HashMap是最常用的Map。

LinkedHashMap相比于HashMap内部多维护了一个双向列表,目的就是保证输入顺序和输出顺序一致,但消耗增大。

SortedMap在Map的基础上增加了排序的功能。它要求key与key之间是可以相互比较的,通过comparator来实现排序。

NavigableMap继承于SortedMap,目前只有TreeMap和ConcurrentNavigableMap两种实现方式,本质上添加了搜索选项到接口,主要为红黑树服务。

TreeMap本质是一个红黑树,不允许key的值为null。

AbstractMap用于帮助我们实现自己的Map类的抽象类。

 

原文来源:

https://blog.csdn.net/wz249863091/article/details/77483948

https://www.cnblogs.com/lzq198754/p/5780165.html

 

Share

感觉毕业一年多一直浑浑噩噩的混日子,业务不精技术不行,然后一直在迷茫想做什么,却又什么都没有做。

这周看了耗子叔的《程序员如何用技术变现》,有两点印象深刻:

1 要去经历大多数人经历不到的,要把学习时间花在那些比较难得地方;

要懂得把宝贵的时间花在宝贵的地方,越是艰难的地方越是要深挖,可是我往往做不到,希望从ARST开始养成一种深入思考的习惯。

2 程序员是一个手艺人;

目前的岗位核心思想是技术服务于业务,所有的技术人员都是处于一种很被动的状态中,所以开始迷茫于自己的职业定位,近期感到一阵焦虑,夸张点想,长此以往自己依旧是一个垃圾菜鸟,在社会中毫无竞争力。

“程序员是个手艺人”,不是流水线上的复制粘贴的人,这样的定位一下子活了起来,不再被动的被公司改造,而是要实现独立自由的自我发展,这就需要自己不断的学习,不断的积累。

从现在开始,加油吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值