算法训练-6高效算法部分 二分查找6.2 二分查找 前言 二分查找的思想非常简单,在有序的数据中每次按照中点进行尝试,如果中间点大于我们要查找的值,则答案应该位于左侧, 反之右侧。由于每次可以排除现有数据量的一半,因此时间复杂度是O(logn)O(logn)O(logn)。 以下我们提供两套二分查找的模板。两个模板的原理都是一样的,区别在于边界的处理。二分查找的难点往往也在于边界。因此如果我们划分的边界是[l,mid]和[mi 2024-05-05 计算机基础 > 算法 #算法
算法训练-6高效算法部分 滑动窗口前言 滑动窗口主要解决“满足某个条件的连续子串”问题,因为我们枚举 区间、子数组、子串 问题的时候时间复杂度是O(n2)O(n^2)O(n2),使用滑窗可以将时间复杂度优化至O(n)O(n)O(n)。 代码模板如下: 1234for (int l = 0, r = 0 ; r < n ; r++) { // 如果右指针的元素加入到窗口内后,根据题目判断进行滑动左指针 2024-05-04 计算机基础 > 算法 #算法
详细了解 RBAC(Role-Based Access Control)摘要:本文介绍了基于角色的访问控制(RBAC),包括什么是 RBAC?什么是 RBAC 中的角色?什么是 RBAC 中的权限?NIST 标准包含的 4 级 RBAC 模型,使用 RBAC 的好处,使用 RBAC 的缺陷,RBAC 的实践,RBAC vs. ABAC vs. ACL vs. PBAC,RBAC & IAM。 什么是 RBAC? RBAC 允许您通过分配一组权限来创建和实施高 2024-05-03
常见的查找算法与排序算法1 常见的七种查找算法 1.1 基本查找 也叫做顺序查找。说明:顺序查找适合于存储结构为数组或者链表。 基本思想:顺序查找也称为线形查找,属于无序查找算法。从数据结构线的一端开始,顺序扫描,依次将遍历到的结点与要查找的值相比较,若相等则表示查找成功;若遍历结束仍没有找到相同的,表示查找失败。 示例代码: 123456789101112131415161718192021222324252627 2024-05-02 计算机基础 > 算法 #算法
2024.5.1 计算机基础(快速排序)+算法(最小生成树)计算机基础 题目 排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一 “趟”。下列排序中,不可能是快速排序第二趟结果的是()【2019 年全国试题 10(2 分)】 A. 5, 2, 16, 12, 28, 60, 32, 72 B. 2, 16, 5, 28, 12, 60, 32, 72 C. 2, 12, 16, 5, 28, 32, 72, 60 D. 5, 2, 12, 28 2024-05-01
如何实现第三方授权登录?面试中,第三方授权登录是场景题常考的一个知识点。 第三方授权登录具体的问法,常见的如下面这些形式: 如何实现第三方授权登录? 如果我们的网站要对接第三方登录,你该怎么做? 如何快速接入一个新开发的网站,让公司内部的员工可以访问? 如何让别人的应用支持使用我们的产品进行第三方登录? …… 考虑到很多同学还不清楚第三方授权登录的基本知识,因此,这篇文章会从基础开始讲起,最后我会给出一个面试回答的简 2024-04-30
2024.4.29 计算机基础+算法计算机基础 B站笔试 涉及的知识点总结 在 jstat 命令的使用中,有一些特定的选项用于输出 Java 虚拟机的统计信息。以下是对每个选项的解释: jstat -gc:这个命令用于输出垃圾收集统计信息,包括堆中各区域的使用情况和垃圾收集次数等。 jstat -gccause:这个命令用于输出垃圾收集统计信息以及最后一次垃圾收集的原因。 jstat -gcnew:这个命令用于输出新生代的垃圾 2024-04-29
2024.4.28 美团笔试复盘算法 美团0427笔试 美团笔试,上强度了!(0427春招实习笔试真题解析) 1 小美换团 小美拿到了一个字符串,她准备把其中所有的"mei"子串替换为"tuan"子串,你能帮帮她吗? 输入描述 一个仅由小写字母组成的字符串。长度不超100000 输出描述 修改后的字符串。 示例 1 输入 meituan 输出 tuantuan 思路与代码 打卡题。直 2024-04-28
Windows环境下Mysql安装与密码设置1 MySQL 安装 所有平台的 MySQL 下载地址为: MySQL 下载 。 挑选你需要的 MySQL Community Server 版本及对应的平台。 **注意:**安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足导致无法安装。 进入官网找到自己所需的安装包:https://dev.mysql.com/ ,路径:DOWNLOAD–>MYSQL Community 2024-03-20
实习攻略:从简历到面试一网打尽实习对于求职者而言,是踏入职场的第一步,也是获取宝贵经验的良机。但如何才能在激烈的竞争中脱颖而出呢?本文将从简历制作到面试技巧,为你解答一切关于实习的疑问。 制作简历 下面是简历应该包含的内容:个人信息(基本信息,教育背景,照片)、履历信息(实习经历、项目经历、科研经历)、补充信息(如下图)。 此外,还有一些需要注意的点: 1.简历中的内容要简要精练,突出含金量高的部分; 2.在写自己的履 2024-02-29
2024.2.27 Java基础(多线程+生产者消费者+反射+动态代理)1 多线程 1.1 相关概念 多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能。 并发和并行 并行:在同一时刻,有多个指令在多个CPU上同时执行。 并发:在同一时刻,有多个指令在单个CPU上交替执行。 进程和线程(重要) 进程:是正在运行的程序。 独立性:进程是一个能独立运行的基本单位,同时也是系统分 2024-02-27 每日反思 #Java
2024.2.25 LeetCode刷题+Java基础(String类)Leetcode刷题 2. 两数相加 - 力扣(LeetCode) 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950/** * Definition for singly-linked list. * public class ListNode { * 2024-02-25 每日反思 #算法
2024.2.23 Java基础1.Java语言有哪些特点? 首先,Java语言是纯粹的面向对象编程语言,这意味着它支持面向对象的核心概念,比如封装、继承和多态。这就让你可以更方便地组织和管理你的代码。 Java还具有平台无关性,这是因为它的代码在执行时不是直接在硬件上运行,而是在Java虚拟机(JVM)上运行。这意味着你可以编写一次代码,然后在不同的操作系统和硬件上运行,只要有对应的JVM就行,这极大地提高了代码的 2024-02-23
泛型 & 通配符常见面试题总结泛型 什么是泛型?有什么作用? Java 泛型(Generics) 是 JDK 5 中引入的一个新特性。使用泛型参数,可以增强代码的可读性以及稳定性。 编译器可以对泛型参数进行检测,并且通过泛型参数可以指定传入的对象类型。比如 ArrayList<Persion> persons = new ArrayList<Persion>() 这行代码就指明了该 ArrayLi 2024-02-17 Java后端 > Java #Java #面试题
2024.2.17 Java基础(泛型+Set+数据结构)*1 泛型 1.1 泛型概述 泛型的介绍 泛型是JDK5中引入的特性,它提供了编译时类型安全检测机制。 泛型的好处 把运行时期的问题提前到了编译期间; 避免了强制类型转换。 泛型的定义格式 <类型>: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如: <E>、 <T>; <类型1,类型2…>: 指定多种类型的 2024-02-17 每日反思 #Java
2024.2.16 Java基础(List集合)1 Collection集合 1.1 数组和集合的区别 相同点 都是容器,可以存储多个数据。 不同点 数组的长度是不可变的,集合的长度是可变的; 数组可以存基本数据类型和引用数据类型,集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类。 1.2 集合类体系结构 1.3 Collection集合概述和使用 Collection集合概述 是单例集合 2024-02-16
2024.2.15 Java基础(时间,包装类)1 时间相关API 1.1 Date类 java.util.Date类表示特定的瞬间,精确到毫秒。 继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,我们重点看以下两个构造函数 public Date():从运行程序的此时此刻到时间原点经历的毫秒值,转换成Date对象,分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。 public Date(long 2024-02-15
2024.2.14 Java基础1 常见API 1.1 Math类 概述 查看API文档,我们可以看到API文档中关于Math类的定义如下: Math类所在包为java.lang包,因此在使用的时候不需要进行导包。并且Math类被final修饰了,因此该类是不能被继承的。 Math类包含执行基本数字运算的方法,我们可以使用Math类完成基本的数学运算。 要想使用Math类我们就需要先创建该类的对象,那么创建对象就需要借助于 2024-02-14
2024.2.12 算法算法 1 无重复字符的最长子串 3. 无重复字符的最长子串 - 力扣(LeetCode) 首先理解题目,这个里面说的最重要的就是不包含重复字符这个关键词。这个的意思就是我们找到的子串中不能包含一样的字符,也就是最长就是所有英文字母都出现一次,即26。然后,我们用两个指针进行判断,左指针用于表示起始位置,右指针来记录在当前起始位置下最长不重复子串的位置。然后,我们判断右指针是否重复。如果不重复 2024-02-12
Git配置代理实现加速本地开启 VPN 代理后,Git 也需要设置代理。否则就会出现能访问 GitHub 网站,但是 git push 超时等情况。 设置全局 http/https 代理 12345678# 不同代理的端口号不一样git config --global http.proxy http://127.0.0.1:7890git config --global https.proxy https://12 2024-02-11