学习Java第二十七天——黑马点评25/95
文章目录
- Leetcode每日一题:1.两数之和
- Redis课程介绍导学
- 基础篇-01~22
- 实战篇-01.Redis企业实战课程介绍
- 实战篇-02.短信登录-导入黑马点评项目
- 补充-使用Git进行版本控制
Leetcode每日一题:1.两数之和
暴力做法:先枚举下标i,再枚举下标j
优化变成:在一些数中找一个数。
哈希表非常适合做这件事。
什么时候会想到用哈希法,用哈希表来做一下映射:每当我们遇到要判断这个元素是否在集合里出现过的时候。 ——代码随想录
问:是什么原因导致了这两种算法的快慢?
答:我用「获取了多少信息」来解释。
暴力做法每次拿两个数出来相加,和 target 比较,那么花费 O(1) 的时间,只获取了 O(1) 的信息。
而哈希表做法,每次查询都能知道 O(n) 个数中是否有 target−nums[j],那么花费 O(1) 的时间,就获取了 O(n) 的信息。
这就是为什么我们可以把暴力的 O(n^2) 优化成 O(n)。复杂度分析
时间复杂度:O(n),其中 n 为 nums 的长度。
空间复杂度:O(n)。哈希表需要 O(n) 的空间。
相比暴力做法,哈希表多消耗了内存空间,但减少了运行时间,这就是「空间换时间」。作者:灵茶山艾府
链接:https://leetcode.cn/problems/two-sum/solutions/2326193/dong-hua-cong-liang-shu-zhi-he-zhong-wo-0yvmj/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Redis课程介绍导学
基础篇-01~22
直接通过,之前苍穹外卖大体学过。
详见:
学习Java第十四天——苍穹外卖Day04另一半和Day05-1~11-CSDN博客
学习Java第十五天——苍穹外卖Day05-12~17和Day06-01~12-CSDN博客
实战篇-01.Redis企业实战课程介绍
实战篇-02.短信登录-导入黑马点评项目
弹幕: 这里需要自己新建一个名为hmdp的数据库,在这个数据库上右键运行sql文件就可以了。bym亲测有效!
前后端分离的模式。后端部署在Tomcat上,前端部署在Nginx上。
移动端或者pc端在发起请求的时候,首先请求我们的页面其实都是向Nginx发起请求,得到这样的一些静态资源,然后页面再通过Nginx,向我们的服务端发起请求去查询数据。这些数据可能来自于我们的mysql集群,也可能来自于我们的Redis集群。然后再把查询到的数据返回给前端,那么前端完成渲染就ok了。所以这其实就是一种前后端分离的一种架构模式。
导入代码很顺利,没有报错。
前端部署起来很简单,因为我们是把整个前端代码部署在nginx里面的,拷贝一份即可。
补充-使用Git进行版本控制
忘记了,又看了一遍:Day01-06-开发环境搭建_后端环境搭建_使用Git进行版本控制_哔哩哔哩_bilibili