算法笔记

july算法课笔记 # coding=utf-8# 第一题 ''' 给定某字符串S,该字符串中有若干空格, 删除这些空格,并返回修改后的字符串;要 求时间复杂度O(N),空间复杂度O(1)。 如:“I_have_a___dream!”,返回“Ihaveadream” 注:有可能两个单词间存在若干空格。 ''' import copy import pprint import random import re imp 阅读详情
1、在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

示例:

现有矩阵 matrix 如下:

[
[1, 4, 7, 11, 15],
[2, 5, 8, 12, 19],
[3, 6, 9, 16, 22],
[10, 13, 14, 17, 24],
[18, 21, 23, 26, 30]
]
给定 target = 5,返回 true。

给定 target = 20,返回 false。

限制:

0 <= n <= 1000

0 <= m <= 1000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

很明显数组有一定的规律,即每行从左到右递增,每列从上往下递增,可以从右上开始进行判断,若给定值相等,return true,如果小于右上,则列–,否则行++,重复进行,直至得到相等的值,如果循环结束后仍不存在相同的值,则可以判定不存在,返回false

class Solution {
    public boolean findNumberIn2DArray(int[][] matrix, int target) {
        if (matrix == null || matrix.length == 0 || matrix[0].length == 0) {
            return false;
        }
        int rows = matrix.length, columns = matrix[0].length;
        int row = 0, column = columns - 1;
        while (row < rows && column >= 0) {
            int num = matrix[row][column];
            if (num == target) {
                return true;
            } else if (num > target) {
                column--;
            } else {
                row++;
            }
        }
        return false;
    }
}
2、给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

示例 1:

输入: s = “abcabcbb”
输出: 3
解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。
示例 2:

输入: s = “bbbbb”
输出: 1
解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。
示例 3:

输入: s = “pwwkew”
输出: 3
解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。
请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。
示例 4:

输入: s = “”
输出: 0

提示:

0 <= s.length <= 5 * 104
s 由英文字母、数字、符号和空格组成

题解

​ 对于此题,我们要寻找的是一段连续字符串的最大不重复子串,因此可以采用双指针的方式进行查找,即窗口。左指针从字符串首字符开始查找,右指针设置为-1,即认为是指针末尾。另外设置一个HashSet集合用来存储不重复的字符,首先左指针不动,然后右指针不断右移,如果当前右指针所指示的字符不存在set中,则将该字符存入set集合中,同时右指针后移,重复进行,如果当前右指针已经存在set中,则从set集合中删除此字符,同时左指针右移。此时字符串长度为res-i+1

代码如下:

public int lengthOfLongestSubstring(String s) {
        int n = s.length();
        int res = -1, max=0;//设置右指针为-1,max用于存储最长字符长度,即最终结果
        Set<Character> set = new HashSet<Character>();//设置set集合存储字符判断字符是否出现过
        for(int i=0;i<n;++i){
            if(i!=0){
                //左指针右移,删除一个元素
                set.remove(s.charAt(i-1));
            }
            while(res+1<n && !set.contains(s.charAt(res+1))){
                //不断移动右指针
                set.add(s.charAt(res+1));
                res++;
            }
            //第i到res个字符是一个最长的字符串
            max = Math.max(max,res-i+1);
        }
        return max;
    }
3.请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

示例 1:

输入:s = “We are happy.”
输出:“We%20are%20happy.”

限制:

0 <= s 的长度 <= 10000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

一、利用char数组存储新字符串

	public String replaceSpace(String s) {
        char[] chars = new char[s.length()*3];
        int size = 0;
        for(int i=0;i<s.length();i++){
            char c = s.charAt(i);
            if(c==' '){
                chars[size++]='%';
                chars[size++]='2';
                chars[size++]='0';
            }
            else{
                chars[size++]=c;
            }
        }
        String newStr = new String(chars, 0, size);
        return newStr;
    }

二、利用StringBuilder存储新字符串,利用append添加字符

 	public String replaceSpace(String s) {
        StringBuilder sb = new StringBuilder();
        for(int i=0;i<s.length();i++){
            char c = s.charAt(i);
            if(c==' '){
                sb.append("%20");
            }else{
                sb.append(c);
            }
        }
        return sb.toString();
    }
4.给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。

示例 1:

输入:nums1 = [1,3], nums2 = [2]
输出:2.00000
解释:合并数组 = [1,2,3] ,中位数 2
示例 2:

输入:nums1 = [1,2], nums2 = [3,4]
输出:2.50000
解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5
示例 3:

输入:nums1 = [0,0], nums2 = [0,0]
输出:0.00000
示例 4:

输入:nums1 = [], nums2 = [1]
输出:1.00000
示例 5:

输入:nums1 = [2], nums2 = []
输出:2.00000

提示:

nums1.length == m
nums2.length == n
0 <= m <= 1000
0 <= n <= 1000
1 <= m + n <= 2000
-106 <= nums1[i], nums2[i] <= 106

进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

利用两个数组的指针进行数组的删除(理论上排除一部分不需要的值,同时需要修改k的值)

class Solution {
    public double findMedianSortedArrays(int[] nums1, int[] nums2) {
        int length1 = nums1.length, length2 = nums2.length;
        int totalLength = length1 + length2;
        if (totalLength % 2 == 1) {
            int midIndex = totalLength / 2;
            double median = getKthElement(nums1, nums2, midIndex + 1);
            return median;
        } else {
            int midIndex1 = totalLength / 2 - 1, midIndex2 = totalLength / 2;
            double median = (getKthElement(nums1, nums2, midIndex1 + 1) + getKthElement(nums1, nums2, midIndex2 + 1)) / 2.0;
            return median;
        }
    }

​    public int getKthElement(int[] nums1, int[] nums2, int k) {
​        /* 主要思路:要找到第 k (k>1) 小的元素,那么就取 pivot1 = nums1[k/2-1] 和 pivot2 = nums2[k/2-1] 进行比较

   * 这里的 "/" 表示整除
     s1 中小于等于 pivot1 的元素有 nums1[0 .. k/2-2] 共计 k/2-1 个
        * nums2 中小于等于 pivot2 的元素有 nums2[0 .. k/2-2] 共计 k/2-1 个
          ivot = min(pivot1, pivot2),两个数组中小于等于 pivot 的元素共计不会超过 (k/2-1) + (k/2-1) <= k-2 个
             * 这样 pivot 本身最大也只能是第 k-1 小的元素
               pivot = pivot1,那么 nums1[0 .. k/2-1] 都不可能是第 k 小的元素。把这些元素全部 "删除",剩下的作为新的 nums1 数组
                  * 如果 pivot = pivot2,那么 nums2[0 .. k/2-1] 都不可能是第 k 小的元素。把这些元素全部 "删除",剩下的作为新的 nums2 数组
                    们 "删除" 了一些元素(这些元素都比第 k 小的元素要小),因此需要修改 k 的值,减去删除的数的个数
                             */

​        int length1 = nums1.length, length2 = nums2.length;
​        int index1 = 0, index2 = 0;
​        int kthElement = 0;

​        while (true) {
​            // 边界情况
​            if (index1 == length1) {
​                return nums2[index2 + k - 1];
​            }
​            if (index2 == length2) {
​                return nums1[index1 + k - 1];
​            }
​            if (k == 1) {
​                return Math.min(nums1[index1], nums2[index2]);
​            }
​            
​            // 正常情况
​            int half = k / 2;
​            int newIndex1 = Math.min(index1 + half, length1) - 1;
​            int newIndex2 = Math.min(index2 + half, length2) - 1;
​            int pivot1 = nums1[newIndex1], pivot2 = nums2[newIndex2];
​            if (pivot1 <= pivot2) {
​                k -= (newIndex1 - index1 + 1);
​                index1 = newIndex1 + 1;
​            } else {
​                k -= (newIndex2 - index2 + 1);
​                index2 = newIndex2 + 1;
​            }
​        }
​    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Aq1z4Rca-1619352644070)(C:\Users\Lin\AppData\Roaming\Typora\typora-user-images\image-20210425163606566.png)]

题解

一、使用递归,分别构建左子树和右子树。首先找到根节点在中序遍历中的位置,从而得到左子树和右子树的长度,进而递归构建(每次修改指针,指向下一个根节点(子树的根节点))

public class Solution1 {
    private Map<Integer,Integer> indexMap;
    public TreeNode myBuildTree(int[] preorder, int preorderLeft,int preorderRight, int[] inorder , int inorderLeft, int inorderRight) {
        if (preorderLeft>preorderRight){
            return null;
        }
        //查得头结点
        int pre_root = preorderLeft;
        int in_root = indexMap.get(preorder[pre_root]);
        //构建根节点
        TreeNode root = new TreeNode(preorder[pre_root]);
        //构建左子树
        int size_leftTree = in_root - inorderLeft;
        root.left = myBuildTree(preorder,preorderLeft+1,preorderLeft+size_leftTree,inorder,inorderLeft,in_root);
        //构建右子树
        root.right = myBuildTree(preorder,preorderLeft+size_leftTree+1,preorderRight,inorder,in_root+1,inorderRight);
        return root;
    }
    public TreeNode buildTree(int[] preorder,int[] inorder){
        int n = preorder.length;
        indexMap = new HashMap<>();
        for (int i = 0; i < n; i++) {
            indexMap.put(inorder[i],i);
        }
        return myBuildTree(preorder,0,n-1,inorder,0,n-1);
    }
}

解法二、使用迭代进行构建,利用栈进行构建,思路:将前序遍历的值进行压栈,直到找到左子树的根节点(此时栈顶的值等于中序遍历序列的第一个),然后转而构建右子树,同理进行迭代,对于中序遍历,需要一个指针,每次出栈指针后移一位。

public class Solution2 {
    public TreeNode buildTree(int[] preorder, int[] inorder) {
        int n = preorder.length;
        if (n<=0){
            return null;
        }
        //对中序遍历序列设置指针,从零开始指向第一个元素
        int index = 0;
        Deque<TreeNode> stack = new LinkedList<>();
        //构建根节点,并入栈
        TreeNode root = new TreeNode(preorder[0]);
        stack.push(root);
        //构建子树
        for (int i = 1; i < n; i++) {
            //取出栈顶元素
            TreeNode treeNode = stack.peek();
            //如果栈顶元素值不等于中序遍历指针对应的值,说明此元素为栈顶节点的左子树
            if (treeNode.val!=inorder[index]){
                //链接并入栈
                treeNode.left = new TreeNode(preorder[i]);
                stack.push(treeNode.left);
            }else {//此时说明已经找到左子树的最后一个元素,即最左下,依次弹出栈顶元素并将index指针后移一位,当栈顶元素值不等于指针对应元素的值时,说明当前i指针指向的值为前节点的右子树
                while (!stack.isEmpty()&&stack.peek().val==inorder[index]){//此处treeNode=刚才弹出的栈顶元素,不能使用,仍需使用peek()取出此时的栈顶元素的值
                    treeNode = stack.pop();
                    ++index;
                }
                //连接右子树,并压栈
                treeNode.right = new TreeNode(preorder[i]);//前序遍历总是根节点优先访问
                stack.push(treeNode.right);
            }
        }
        return root;
    }
}
算法设计与分析复习笔记(上) 文章目录设计技术分治动态规划贪心法回溯和分支限界 设计技术 分治 使用条件 规约为独立求解子问题 设计步骤 规约方法,初始子问题的计算,子问题解的综合方法,注意子问题划分均衡,类型相同 递归算法分析 求解递推方程 改进途径 减少子问题数,预处理 典型问题 二分检索,归并排序,芯片测试,幂乘,矩阵乘法,最邻近点对,多项式求值 代码 例1:阶乘函数 int facorial(int n) { if(n==0) return 1; return n*facorial(n-1); 阅读详情

相关推荐

LMI线性矩阵不等式之非线性变量处理

​ 如果一个LMI线性矩阵不等式中的某项存在两个矩阵变量相乘,那么称该类情形为非线性矩阵不等式,而要直接求解时很困难的,而且LMI工具箱也无法求解非线性矩阵,所以需要通过变量替换法进行处理。 ​...

Mr.邹的博客 4549

《算法笔记》的codeup打不开怎么办

今天开始学习《算法笔记》,本想用书中的codeup练练手,结果链接一直打不开,在网上找了很久才找到新的链接。

m0_46491493的博客 5687

3分钟搞定!QQ音乐歌单导出Excel保姆级教程(含歌单ID获取技巧)

本文提供了一份详细的QQ音乐歌单导出Excel保姆级教程,帮助用户轻松备份和管理个人音乐收藏。教程核心在于获取歌单ID,并利用浏览器开发者工具执行脚本提取数据,最后通过Excel导入功能快速生成结构化表格。整个过程无需编程基础,3分钟即可搞定,是个人数据管理的实用技巧。

weixin_29008691的博客 1389

《算法笔记》与《算法笔记上机训练实战指南》:助你掌握算法与数据结构的利器

《算法笔记》与《算法笔记上机训练实战指南》:助你掌握算法与数据结构的利器 【下载地址】算法笔记-胡凡-两本完整PDF 本资源提供《算法笔记》及其配套的《算法笔记上机训练实战指南》的完整PDF版本。这两本书由胡凡编写,旨在帮助读者深入理解算法和数据结构,并通过实际编程练习提升应用能力 ...

gitblog_06505的博客 462

高通camera open代码流程(hal到kernel)

内容:简单介绍Camera open代码调用流程,从HAl到kernel。(api1+hal1) 前言 Android camera api和hal对应关系。安卓在版本更新过程中,camera相关代码也经历了几个版本的更新,表现为camera HAL版本更新(HAL1->HAL2->HAL3),camera API版本更新(camera API1->camera API2),接下...

oxoo123的专栏 4276

SAP开发实战:用FI_DOCUMENT_CHANGE BAPI批量修改FB03凭证抬头和行项目文本(附完整ABAP代码)

本文详细介绍了如何使用SAP的FI_DOCUMENT_CHANGE BAPI批量修改FB03凭证抬头和行项目文本,提供完整的ABAP代码实现方案。通过该BAPI,开发者可以高效完成财务凭证的批量修改,确保数据一致性和审计合规性,显著提升SAP财务模块的运维效率。

weixin_29224589的博客 379

《算法笔记》的一些错误

《算法笔记》的一些错误 本人研读了晴神的《算法笔记》一书,发现有些错误在勘误中没有指出来,所以在这里列举一下(当然有的可能就是印刷错误) 1、261页上面,应该是node[11111].next=22222;node[22222].next=33333; node[33333].next=-1; 2、264页中间有一段: while(p=-1){ XXX=1; //XXX改成node[i].XXX=1 count++; p=node[p]->next; } 3

wordnice2003的博客 485

嵌入式学习之QT学习---14 QT跨平台运行之把QT程序交叉编译到ARM开发板

想要把qt工程放到开发板上运行,就需要用到交叉编译。由于qt是跨平台的,所以只需要换个编译器编译一下就可以。 以“定时器”的例子为例,在移植之前还需要进行一个准备工作,在windows下运行的时候,电脑屏幕很大,但是运行的窗口只有一点点大,开发板也有外接屏幕,如何让运行窗口自动适配开发板的外接屏幕呢?令其占满屏幕显示,而不是一小块。 第一步:需要设置一下,先给ui布局,如果不布局,控件就不会随着屏幕的大小的变化而变化。 第二步:利用代码来获取屏幕的大小,给widget.cpp文件下添加如下代码 #inclu

qq_42822743的博客 5456

算法笔记 03 —— 算法初步(上)

本系列为胡凡编著的算法笔记当中代码部分的精简版整理,笔者也在同时准备Leetcode刷题和实习面试,希望为有一定编码和数据结构基础的同学提供一份系统型的参考,以方便遗忘时的算法查阅、期末复习总览以及C++学习参照。

Celeste的博客 1106

分享一个完整的KANO问卷(包含正反问题和选项设置)

本文介绍了KANO模型问卷的设计与应用,用于评估功能需求优先级。问卷包含基本信息、功能评估(正反问题设计)、界面评估及开放问题,选项定义明确(如"非常喜欢"到"很不喜欢")。数据清洗规则包括剔除矛盾回答和注意力检验。通过量化编码和矩阵分析,将需求分为魅力型、期望型、必备型等类别。示例数据显示健康监测为必备型(72%),电子围栏为期望型(45%),适老化改造为无差异型(38%)。该模型为产品决策提供客观量化依据。

从技术实践立足,从项目管理方法论延伸思考 1794

锂电池寿命预测 | Pytorch实现基于Transformer 的锂电池寿命预测(NASA数据集)

锂电池寿命预测 | Pytorch实现基于Transformer 的锂电池寿命预测(NASA数据集)

算法如诗的博客 5582

算法课读书笔记

算法读书笔记 以下是正文

qq_45549746的博客 172

【制作100个unity实战之2】实现一款简单的FPS游戏

你将学到: fps武器脚本 基础瞄准功能 僵尸敌人AI 巡逻范围 攻击间 搜寻半径 追击 枪声吸引周围的僵尸 击中僵直效果

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3549

【免费下载】 算法笔记-胡凡-两本完整PDF

算法笔记-胡凡-两本完整PDF 【下载地址】算法笔记-胡凡-两本完整PDF 本资源提供《算法笔记》及其配套的《算法笔记上机训练实战指南》的完整PDF版本。这两本书由胡凡编写,旨在帮助读者深入理解算法和数据结构,并通过实际编程练习提升应用能力 ...

gitblog_06544的博客 3428

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

算法自学笔记:总序

本项目包含了我在自学算法过程中整理的笔记。这些笔记记录了我对常见算法和数据结构的理解、思考过程以及相关的学习资源。目的是帮助自己总结学习成果,同时为他人提供参考和启发。

linmohan0814的博客 885

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

算法通关笔记 启航!

本专栏是以Acwing 算法基础课和算法提高课的内容为导向的算法知识讲解,站在算法小白的角度对算法的本质进行剖析,带你早日拿下算法这做大山!

只想和你一起进步 917

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

读书笔记——labuladong算法笔记

所以在写二分算法的时候要先想清楚是要用闭区间还是开区间,另外要明白“中点”这个概念是一个开区间的边界,因为在每次判断必然会判断这个点,因此如果你要用开区间,那么这个点可以直接使用,否则就需要跳过该点。双指针比较灵活,需要注意的就是你可以设计双指针的迭代方式,可以是快慢指针,也可以从起点像两边扩展的指针(对于回文子串有效)。另外,回溯算法和动态规划算法不一样的一点就是,回溯算法没有重叠子问题,没有办法通过字典来进行优化,就是纯的暴力搜索。2、连接:将一个域的父节点的父节点指向另外一个域的父节点;

Dr_Jack的博客 1852

【粉丝福利社】算法竞赛入门笔记

算法是计算机科学的核心,也是构建数字世界的基石。在众多计算机相关赛事中,算法竞赛以其高含金量和挑战性著称,例如中学生的NOI信息学竞赛、大学生的ICPC/CCPC赛事以及蓝桥杯大赛、天梯赛等。特别是对于大学生来说,拥有算法竞赛的经历和奖项不仅能够显著提升个人简历的质量,还能为未来的职业发展奠定坚实的基础。进入大学之前,我没有任何编程经验。经过近两年的努力,我有幸在算法竞赛中取得了不错的成绩,并在退役后帮助许多同学一起学习并获奖。在这个过程中,我积累了大量关于算法和数据结构的学习心得。

愚公智库 13万+

KMP算法笔记

KMP算法笔记整理

weixin_45887823的博客 156

算法笔记学习笔记1

算法笔记学习笔记函数之前的代码 因为研究生考试需要csp成绩,所以买了一本算法笔记学习,准备把每天写的代码和注意的知识点记录下来 函数之前的代码 链接:https://pan.baidu.com/s/1kJCQj7tQXq1U-N3qu_gNIQ 提取码:1234 复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V1的分享 这是写这篇文章之前写的代码,是算法笔记对应的codeup平台上所有的练习题,欢迎取用 ...

qq_21137705的博客 298

读书笔记——《漫画算法:小灰的算法之旅》

最近入手一本好书,如标题所示,作者叫魏梦舒,提到这个名字可能大家都会感到陌生,但如果你关注算法类的微信公众号,那肯定知道@程序员小灰了,我是大概半年前一个很偶然的机会关注小灰的,是在@码农翻身这位大佬的文章推送中看到的,感觉很有意思,虽然我不是个漫画迷,但通过这种方式来学习晦涩高深的算法是很有意思的,毕竟要快乐学习嘛~~ 大概说下这本书吧,整体分为三大块:算法及数据结构基础、职场面试中的流行算法...

想不出一个好的标题,就用这个吧 9808

发现一位大佬的算法刷题笔记PDF

昨晚逛GitHub,无意中看到一位大佬(https://github.com/halfrost)的算法刷题笔记,感觉发现了宝藏!有些小伙伴可能已经发现了,但咱这里还是忍不住安利一波,怕有些...

程序猿DD 515

算法笔记的学习心得和知识总结(三)|CodeUp and Pat篇(算法笔记第四章 排序算法)

目录结构 算法笔记CodeUp Pat汇总文章快速说明索引一、PAT    B1001 文章快速说明索引 学习目标: 因为最近一来要准备一下浙大PAT考试,二来复习一下将近遗忘的算法知识。正好把当年快翻烂掉的《算法笔记》再学一遍,权做C/C++和DSA的复习之用!注:因为进入工作岗位之后,基础知识的使用和遗忘会变得十分常见!面向过程 面向对象逐渐变成了面向百度编程,可是对于参加算法或编程竞赛而言 Baidu恐怕也帮不上忙了!古人云:温故而知新,可以为师矣! 1、CodeUp链.

孤傲小二~阿沐的博客 4697

常见算法的学习笔记

常见查找算法、排序算法的学习笔记,用Java语言描述。

x18395499277的博客 2328

《算法笔记》——笔记

算法笔记 胡凡 曾磊 主编 机械工业出版社 文章目录算法笔记C/C++快速入门提醒memsetsscanf与sprintf引用浮点数的比较圆周率复杂度黑盒测试入门篇(1)——入门模拟入门篇(2)——算法初步排序冒泡排序选择排序插入排序sort函数的应用排名的实现散列字符串hash初步递归分治递归全排列n皇后问题贪心简单贪心B1023 组个最小数 (20 分)区间贪心二分二分查找二分法拓展快速幂two pointers什么是two pointers归并排序快速排序其他高效技巧和算法打表活用递推随机选择算法

Derait的博客 1140

【算法】自己制作的《算法笔记》章节知识大纲思维导图

自己制作的《算法笔记》章节知识大纲思维导图。

小明2766的博客 246
上一篇: spring boot 使用druid连接池报错问题
CellIce
博客等级 码龄7年 2粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值