算法学习
二分查找的时间复杂度 假设找到x我们最多需要的步骤是f(N)。 第一步,我们将A[N]一分为二,根据有序数组的特性,通过比较x与标的元素的大小,知道了x落入其中一个子数组B[N/2]。此时问题就变成了 给定一个包含有N/2个元素的有序数组B[N/2],我们要使用二分法知道元素x是否存在这个数组中。 此时我们进行了一次对比,那么f(n)可以写成 f(N) = 1 + f(N/2) ...
二分查找的时间复杂度 假设找到x我们最多需要的步骤是f(N)。 第一步,我们将A[N]一分为二,根据有序数组的特性,通过比较x与标的元素的大小,知道了x落入其中一个子数组B[N/2]。此时问题就变成了 给定一个包含有N/2个元素的有序数组B[N/2],我们要使用二分法知道元素x是否存在这个数组中。 此时我们进行了一次对比,那么f(n)可以写成 f(N) = 1 + f(N/2) ...
看一遍就理解:动态规划详解 前言 我们刷leetcode的时候,经常会遇到动态规划类型题目。动态规划问题非常非常经典,也很有技巧性,一般大厂都非常喜欢问。今天跟大家一起来学习动态规划的套路,文章如果有不正确的地方,欢迎大家指出哈,感谢感谢~ 什么是动态规划? 动态规划的核心思想 一个例子走进动态规划 动态规划的解题套路 leetcode案例分析 公众号:捡...
一、微积分 1. 函数与极限 • 函数的概念与性质 • 极限与连续 2. 一元微分学 • 导数与微分 • 导数的应用(如单调性、极值、凹凸性等) • 洛必达法则 • 泰勒公式 3. 一元积分学 • 不定积分 • 定积分 • 积分的应用(如面积、体积、弧长等) • 反常积分 4. 多元微积分 • 多元函数与偏导数 • 重积分 • 曲线积分与曲面积分 • 格林公式、高斯公式与斯托克斯公式 ...
编程面试大学 原先我为了成为一个软件工程师而建立这份简单的学习主题清单, 但这份清单随着时间的推移而膨胀成今天这样。在做完这份清单上的每个目标后,我成为了 Amazon 的软件开发工程师! 你或许不需要像我一样学习这么多。但是,让你成为一位称职工程师所需要的知识都在这里了。 我每天自学8~12小时,这样持续了好几个月。这是我的故事:为什么我为了 Google 面试而自学了8个月...
MYSQL游标查询 通过JDBC对MySQL进行数据查询时,有个很容易踩的坑,以下面代码为例: public static void selectNormal() throws SQLException{ Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306...
CORS 什么是同源策略? 同源策略是一种 Web 浏览器安全机制,旨在防止网站相互攻击。 同源策略限制一个源上的脚本访问另一个源上的数据。源由 URI 方案、域和端口号组成。 访问的 URL 允许访问? http://normal-website.com/example/ 是:相同的方...
Spring Event ApplicationEventMulticaster事件多播器的创建 从Spring refresh()进入 public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdownMonit...
泛型 extend Vector<? extends 类型1> x = new Vector<类型2>(); 类型1指定一个数据类型,那么类型2就只能是类型1或者是类型1的子类 使用此变量时不可以向T设置、添加元素,因为T接收的是T和他的子类,此时存储的元素应该是哪个子类无法确定,所以添加元素就会报错,所以只能获取元素 ...
网易云 播客-下载流程 Alloc fetch("https://music.163.com/api/nos/token/alloc?filename=%E5%96%80%E7%A7%8B%E8%8E%8E(%E5%B0%91%E6%88%98).mp3&ext=mp3&type=other&bucket=ymusic&local...
okhttp源码分析笔记 下面将通过同步和异步的基本使用方式、Dispatcher作用、主要的拦截器功能、缓存策略以及连接池,一步步分析底层实现流程。 基本使用大致分析 OkHttpClient有两种请求的方式,一是同步请求,二是异步请求。下面先简单看下两种请求的不同使用方法,然后简略看看请求内部运作流程,得出一个大致了解后,有个整体印象,抓住关键点。 同步请求 同步请求示例: ...