首先拿到这题很惊讶,因为看了评论区,得知通过率第二是因为可以直接return原样返回即可得到正确答案。
然而这个题目我一拿到手就想到了百度云的链接模式,知道这是一个应用性很强的题目,这在评论区也得到了验证。并且这个题目的类型还是和哈希表相关联的,所以还是用自己学到的一些java皮毛来做这个题目。
之后还是想了一下为什么可以直接原样返回。这个题目其实就是想用一个key做桥梁,结果将shortUrl直接用作key来传递,然后解码本身又直接传输shortUrl,这就能够原样解题了。然后在c语言中实践了一下,确实很快的就通过了。
然后依旧是依葫芦画瓢,在评论区找了一个看得懂的java答案,边看边想边写,不会的就看参考代码,要么想原因,要么找相关的知识。
1.Map放在两个函数的前面-因为在两个函数中都需要用到map这个引用变量,所以就直接在类中创建。
2.哈希的运用方法:当需要key-value键值对的时候。key是桥梁
3.map前的static:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。
4.String的valueOf方法-将别的数据类型转换成String
5.System.nanoTime用来创造随机数-本来想看看到底是什么样的随机数,也就是纳秒级的时间,而且只能用来算时间差,不能计算年1.1的差距。