如果给你一个题目,“给定一个整数数组和一个目标数S,如何输出该数组中所有和为S的可能组合?”,你会如何做呢?...例如,给定数组 如下: int[] values = { 1, 3, 4, 5, 6, 15 }; 那么和为15的可能组合有如下几种: 15 = 1+3+5+6 15 = 4+5+6 15 = 15...在这篇文章中,我将为大家给出两种解决方法:一个是“借助Stack实现”;另外一个是“不借助Stack实现”。...= new Stack(); /** 存放当前Stack中元素的和 */ private int sumInStack = 0; public void process...接下来的方法,我们将Stack替换掉。
} return result; } } 输入: nums = [1,3,-1,-3,5,3,6,7], 和...k = 3 输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值 --------------- ----- [...3] 6 7 5 1 3 -1 -3 [5 3 6] 7 6 1 3 -1 -3 5 [3 6 7] 7 思路: 1 开一个新数组...存放最大值 2 两个循环 ,第一个控制走到最后,第二个来实现寻找最大值,(k范围内的)(借助Math.max) 比较(i+1,k-1) 3 找到放到新数组组里面
题目:给定两个大小为 m 和 n 的数组 nums1 和 nums2。 请你找出这两个有序数组的中位数 方法:很简单的办法就是利用list的函数来实现。...这样的时间的复杂度可能就上去了。但是慢慢去优化我们的代码,达到最佳,最简单的就是要消除可能存在的bug,再去想接下来的时间优化,当然了,肯定还有比这个最优的解法,这里知识一个抛砖引玉的。...目前我的刷题只是断断续续的开始,我感觉做这样的题目的时候呢,首先还是对基础知识的掌握,在一个就是我们用一个我们最熟悉的算法去解决。然后去寻找最优的算法。...笨鸟先飞,可能这里笨鸟要转很多弯路才能实现我们最后的效果,但是加油,未来我们一个可以成功的。...可能后续的刷题,我将会改变到原来的方式去实现。python和java的实现代码都有。
不存在一个m维向量集合有多于m个彼此线性不相关列向量,一个有多于m个列向量矩阵有可能有不止一个大小为m的线性无关向量集。 矩阵可逆,要保证Ax=b 对每个b值至多有一个解。...要确保矩阵至多有m个列向量。矩阵必须是一个方阵(square),m=n,且所有列向量线性无关。一个列向量线性相关方阵为奇异的(singular)。...矩阵不是方阵或是奇异方阵,方程可能有解,但不能用矩阵逆求解。逆矩阵右乘AA⁽-1⁾=I。左逆、右逆相等。 范数(norm)。 衡量向量大小。...diag(v)表示对角元素由向量v中元素给定一个对角方阵。对角矩阵乘法计算高效。计算乘法diag(v)x,x中每个元素xi放大vi倍。diag(v)x=v⊙x。计算对角方阵的逆矩阵很高效。...通过将矩阵限制为对象矩阵,得到计算代价较低(简单扼要)算法。 并非所有对角矩阵都是方阵。长方形矩阵也有可能是对角矩阵。非方阵的对象矩阵没有逆矩阵,但有高效计算乘法。
2023-03-02:给定一个数组arr,长度为n, 任意相邻的两个数里面至少要有一个被选出来,组成子序列,才是合法的! 求所有可能的合法子序列中,最大中位数是多少?...中位数的定义为上中位数, [1, 2, 3, 4]的上中位数是2, [1, 2, 3, 4, 5]的上中位数是3, 2 <= n <= 10^5, 1 <= arr[i] <= 10^9。...1和-1, // 你可以从左往右选择数字组成子序列, // 但是要求任何两个相邻的数,至少要选1个 // 请返回子序列的最大累加和 // arr : 数组 // i : 当前来到i位置 // pre :...// 可能性1 : 就是不选当前i位置的数 let mut p2 = -1; if pre == 1 { // 只有前一个数字选了,当前才能不选...} } return ans; } // 如果中位数定成median, // 如果任意相邻的两数,至少选一个,来生成序列 // 所有这样的序列中, // 到底有没有一个序列
假设我们将模型表示为给定输入后,计算对应输出的流程图,则可以将这张流程图中的最长路径视为模型的深度。...另一种是在深度概率模型中使用的方法,它不是将计算图的深度视为模型深度,而是将描述概念彼此如何关联的图的深度视为模型深度。在这种情况下,计算每个概念表示的计算流程图的深度可能比概念本身的图更深。...平方 \(L^{2}\) 范数也经常用来衡量向量的大小,可以简单地通过点积 \(x^{⊤}x\) 计算 平方 \(L^{2}\) 范数在数学和计算上都比 \(L^{2}\) 范数本身更方便。...长方形的矩阵也有可能是对角矩阵。非方阵的对角矩阵没有逆矩阵,但我们仍然可以高效地计算它们的乘法。...首先,概率法则告诉我们 AI 系统如何推理,据此我们设计一些算法来计算或者估算由概率论导出的表达式。
另外这里的\(A∈R^{n×n}\)默认是方阵,因为只有方阵才能计算行列式。 行列式如何计算的就不在这里赘述了,下面简要给出行列式的各种性质和定理。...图解特征向量和特征值 下面使用二维图像的变换来帮助我们直观理解特征值和特征向量的意义。...它是把一个对称正定的矩阵表示成一个下三角矩阵L和其转置的乘积的分解。它要求矩阵的所有特征值必须大于零,故分解的下三角矩阵的对角元也是大于零的。...这里不会详细介绍该方法的计算方法,简单说明一下该方法会带来哪些好处。 1.求逆矩阵 我们都知道求一个矩阵的逆矩阵是一个非常耗时的过程,而对于一个上(下)三角矩阵而言,求逆矩阵就简单很多。...很明显对角矩阵相对于其他形式的矩阵天然有很多计算上的优势,例如计算逆矩阵,行列式时都非常简单,所以如果能把一个矩阵对角化,那么很多问题就可以解决了。
2021-12-02:给定一个字符串str,和一个正数k。 返回长度为k的所有子序列中,字典序最大的子序列。 单调栈。先进来的元素大,后进来的元素小。 时间复杂度:O(N)。
2022-08-26:用一个大小为 m x n 的二维网格 grid 表示一个箱子 你有 n 颗球。箱子的顶部和底部都是开着的。...箱子中的每个单元格都有一个对角线挡板,跨过单元格的两个角, 可以将球导向左侧或者右侧。 将球导向右侧的挡板跨过左上角和右下角,在网格中用 1 表示。...将球导向左侧的挡板跨过右上角和左下角,在网格中用 -1 表示。 在箱子每一列的顶端各放一颗球。每颗球都可能卡在箱子里或从底部掉出来。...如果球恰好卡在两块挡板之间的 "V" 形图案,或者被一块挡导向到箱子的任意一侧边上,就会卡住。...返回一个大小为 n 的数组 answer , 其中 answer[i] 是球放在顶部的第 i 列后从底部掉出来的那一列对应的下标, 如果球卡在盒子里,则返回 -1。
2022-04-25:给定一个整数数组,返回所有数对之间的第 k 个最小距离。一对 (A, B) 的距离被定义为 A 和 B 之间的绝对差值。...输入: nums = [1,3,1] k = 1 输出:0 解释: 所有数对如下: (1,3) -> 2 (1,1) -> 0 (3,1) -> 2 因此第 1 个最小距离的数对是 (1,1),它们之间的距离为...找出第 k 小的距离对。 答案2022-04-25: 排序。二分法,f(x)是小于等于x的个数。刚刚大于等于k的。 f(x)不回退窗口。...<= r { let dis: isize = l + ((r - l) >> 1); let cnt: isize = f(nums, dis); if...{ let mut cnt: isize = 0; let mut l: isize = 0; let mut r: isize = 0; while l < arr.len
它表示从原点出发到向量 x 确定点的欧几里得距离。可简化表示为 \begin{Vmatrix} x \end{Vmatrix} ,平方 L^2 范数可简单地通过点积 x^Tx 计算。...对角矩阵(diagonal matrix) 我们用 diag(v) 表示对角元素由向量 v 中元素给定的一个对角方阵。...diag(v)x=v\odot x 假设对角方阵的逆矩阵存在,当且仅当对角元素都是非零值,在这种情况下, 。 并非所有的对角矩阵都是方阵,长方形的矩阵也有可能是对角矩阵。...正交矩阵指行向量和列向量是分别标准正交的方阵。...U和V都定义为正交矩阵,D为对角矩阵,注意D不一定是方阵。 对角矩阵D对角线上的元素称为矩阵A的奇异值。 A的非零奇异值是A^TA特征值的平方根,同时也是AA^T特征值的平方根。
2022-04-22:给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 'X' 或者是一个空位 '.' ,返回在甲板 board 上放置的 战舰 的数量。...换句话说,战舰只能按 1 x k(1 行,k 列)或 k x 1(k 行,1 列)的形状建造,其中 k 可以是任意大小。两艘战舰之间至少有一个水平或垂直的空位分隔 (即没有相邻的战舰)。...甲板上的战舰。 来自米哈游。 答案2022-04-22: 并查集或者岛问题都行,但这不是最优解。 数战舰的左上角,统计左上角的点的个数就行。 时间复杂度:O(N**2)。 代码用rust编写。
矩阵的乘方运算 (1)x^Y表示,如果x为数,而Y为方阵,结果由各特征值和特征向量计算得到。...(2)X^y表示,如果X是方阵、y是一个大于1的整数,所得结果由X重复相乘y次得到;如果y不是整数,则将计算各特征值和特征向量的乘方。 (3)如果X和Y都是矩阵,或X或Y不是方阵,则会显示错误信息。...矩阵的数组乘方 X.^Y的计算结果为X中元素对Y中对应元素求幂,形成的矩阵与原矩阵维数相等,这里X和Y必须维数相等,或其中一个为数,此时运算法则等同于X^Y。.../A就是B中的元素除以A中的对应元素,所得结果矩阵的大小与B和A都相同;如果B和A中有一个为数,在结果为此数与相应的矩阵中的每个元素做运算,结果矩阵与参加运算的矩阵大小相同。...矩阵的kronecker张量积 K=KRON(A, B)返回A和B的张量积,它是一个大矩阵,取值为矩阵A和B的元素间所有的可能积。
2022-04-25:给定一个整数数组,返回所有数对之间的第 k 个最小距离。一对 (A, B) 的距离被定义为 A 和 B 之间的绝对差值。...输入: nums = 1,3,1 k = 1 输出:0 解释: 所有数对如下: (1,3) -> 2 (1,1) -> 0 (3,1) -> 2 因此第 1 个最小距离的数对是 (1,1),它们之间的距离为...找出第 k 小的距离对。 答案2022-04-25: 排序。二分法,f(x)是小于等于x的个数。刚刚大于等于k的。 f(x)不回退窗口。...<= r { let dis: isize = l + ((r - l) >> 1); let cnt: isize = f(nums, dis); if...r += 1; } cnt += r - l - 1; l += 1; } return cnt; } 执行结果如下: [在这里插入图片描述
2023-03-02:给定一个数组arr,长度为n,任意相邻的两个数里面至少要有一个被选出来,组成子序列,才是合法的!求所有可能的合法子序列中,最大中位数是多少?...中位数的定义为上中位数,1, 2, 3, 4的上中位数是2,1, 2, 3, 4, 5的上中位数是3,2 = median的数字
当只包含一列时,,这给出了向量投影到一条线上的特殊情况: 一个矩阵的零空间 是所有乘以时等于 0 向量的集合,即: 注意,中的向量的大小为,而 中的向量的大小为,因此和 中的向量的大小均为。...给定一个矩阵: 考虑通过采用行向量的所有可能线性组合形成的点的集合,其中线性组合的系数都在 0 和 1 之间; 也就是说,集合是受到系数的限制的线性组合,满足。...可以看出,对于任何非奇异, 虽然这是一个很好的“显式”的逆矩阵公式,但我们应该注意,从数字上讲,有很多更有效的方法来计算逆矩阵。 3.11 二次型和半正定矩阵 给定方矩阵和向量,标量值被称为二次型。...3.12 特征值和特征向量 给定一个方阵,我们认为在以下条件下,是的特征值,是相应的特征向量: 直观地说,这个定义意味着将乘以向量会得到一个新的向量,该向量指向与相同的方向,但按系数缩放。...设为定义的函数,因此。但现在考虑表达式, 该表达式应该如何解释? 至少有两种可能性: 1.在第一个解释中,回想起。
对角化分解 给定一个大小为 ? 的矩阵 ? (是方阵),其对角化分解可以写成 ? [公式] 其中, ? 的每一列都是特征向量, ? 对角线上的元素是从大到小排列的特征值,若将 ? 记作 ? ,则 ?...对角线上的元素是从大到小排列的特征值。 当然,将矩阵 ? 记作 ? ,则矩阵 ? 也可以写成如下形式: ? [公式] 举一个简单的例子,如给定一个大小为 ? 的矩阵 ? ,根据 ? 求得特征值为 ?...这样,我们就很容易地得到了矩阵 ? 的对称对角化分解。 上面所讲的矩阵进行特征分解,矩阵A必须为方阵。那么如果A不是方阵,即行和列不相同的矩阵进行分解时就是所说的奇异值分解了。...如果我们将A的转置和A做矩阵乘法,那么会得到n×n的一个方阵ATA。...将ATA的所有特征向量张成一个n×n的矩阵V,就是我们SVD公式里面的V矩阵了。一般我们将V中的每个特征向量叫做A的右奇异向量。 如果我们将A和A的转置做矩阵乘法,那么会得到m×m的一个方阵AAT。
数据结构基础(一) 有一个等式,数据结构+算法=程序,说明了数据结构对于计算机程序设计的重要性。数据结构是指数据元素的集合(或数据对象)及元素间的相互关系和构造方法。...1.1 数组 1.数组的定义和基本运算 数组是程序中最常用的数据结构,数组的本质是内存中一段大小固定,地址连续的存储单元。 一维数组是一个长度固定,下标有序的线性序列。...设每个数组元素占用L个单元,m,n为数组的行数和列数,Loc(a11)表示元素a11的地址,以行为主: Loc(aij)=Loc(a11)+(i-1)×n+...3.矩阵 在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合 [1] ,最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。...矩阵中所有非零元素存放在由三元组组成的数组中。
向量和矩阵的一些性质 矩阵的转置(transpose):矩阵的转置就是将矩阵验证左上角至右下角的对角线为轴的一个镜像。表示成: ?...范数 范数(norms):通常我们使用范数来定义某个向量的大小,通常如下公式表示。当p取值为1的时候称为一范,取值为2的时候称为二范。 ? 范数的基本性质:正定性、齐次性、三角不等式。 ?...伪逆的定义帮助我们取得了一定的进展。矩阵A的伪逆定义为如下公式: ? 但是在实际计算伪逆的时候,没有用到这个定义去计算,而是使用如下公式。其中V,D,U是对矩阵A进行奇异值分解后的矩阵。...矩阵D的伪逆,是对其非零元素取到数之后转置得到的。 ? 矩阵的迹操作 矩阵的迹(Trace):矩阵主对角线上所有元素的和称为矩阵的迹。表示为: ? 迹的一些性质: ? ?...分析:假设我们能找到一个l维度空间(l<n)存在点c(1)~c(m),同时找到一个编码转换函数f(x)=c;还有一个解码函数g(c),是的x与等于g(f(x))。那么问题就解决了。
2022-08-26:用一个大小为 m x n 的二维网格 grid 表示一个箱子你有 n 颗球。箱子的顶部和底部都是开着的。...箱子中的每个单元格都有一个对角线挡板,跨过单元格的两个角,可以将球导向左侧或者右侧。将球导向右侧的挡板跨过左上角和右下角,在网格中用 1 表示。...将球导向左侧的挡板跨过右上角和左下角,在网格中用 -1 表示。在箱子每一列的顶端各放一颗球。每颗球都可能卡在箱子里或从底部掉出来。...如果球恰好卡在两块挡板之间的 "V" 形图案,或者被一块挡导向到箱子的任意一侧边上,就会卡住。...返回一个大小为 n 的数组 answer ,其中 answeri 是球放在顶部的第 i 列后从底部掉出来的那一列对应的下标,如果球卡在盒子里,则返回 -1。
领取专属 10元无门槛券
手把手带您无忧上云