- 博客(6)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 矩阵的LU分解和求逆
package Algorithms_算法.Class._Matrix;import java.util.Arrays;public class LU { double[][] matrix; double[][] expand_Matrix; double[][] reverse_matrix; double[][] l; double[][] u; public void initialize(double[][] matrix){
2021-04-22 16:47:16 917
原创 2021-4-12算法复习
二分搜索二分搜索的一种应用:求最大(最小值),可以建立一个检验函数,用x代表其中的值,返回解是否可行的boolean,然后在主函数中用左边界表示一定成立的解,右侧表示一定不可能的解,不断把中值代入方程检验,缩小范围,直到得出近似解。1.n根绳子能剪出k根最长多长的绳子。2.求牛舍给定情况下,两头牛之间的最大距离。3.求物品的最大平均价值。(wi,vi已知)主函数:public double solve(int n,int k,double[] ripes){ double lef
2021-04-12 22:06:33 66
转载 双指针消除重复数字
利用快排双色分区partition思想,O(N),O(1)维护两个指针,将数组分成三个区:[0 ... validRange]为有效区(全是有效数)(validRange ... curIndex)为垃圾区(全是垃圾数)[curIndex ...]为未知区(还没看的数)同时记录前一个数preNum和当前数出现次数count,遍历每个数,判断是否垃圾:当前数首次出现,有效数,发货到有效区,同时扩充有效区;当前数出现次数<2,有效数,发货到有效区,同时扩充有效区;当前数.
2021-04-06 23:29:52 130
原创 LIS
public class Solution { public int lengthOfLIS(int[] nums) { int[] len = new int[nums.length]; Arrays.fill(len, 1); int ans = 1; for(int i=1;i<len.length;i++){ for(int j=0;j<i;j++){ if(.
2021-04-04 20:24:26 103
原创 俄罗斯信封问题
给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算 最多能有多少个 信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。注意:不允许旋转信封。package LeeCode._20210305_354_动态规划_二分查找;import java.util.ArrayList;im.
2021-04-04 20:23:43 245
转载 寻找中位数
给你两个有序的数组,求中位数双指针查找,每次把k减少一定的值,直到k=1,取两个指针的最小值。public class _decrease__k { public double findMedianSortedArrays(int[] nums1, int[] nums2) { int len1 = nums1.length; int len2 = nums2.length; int left = (len1 + len2 + 1)..
2021-04-04 20:13:43 917
请问如何用线段树求数组的逆序数
2021-03-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人