数据库之索引<保姆级文章>
一. 什么是索引:1. MySQL的索引是⼀种数据结构,它可以帮助数据库高效地查询、更新数据表中的数据。 索引通过 ⼀定的规则排列数据表中的记录,使得对表的查询可以通过对索引的搜索来加快速度 2.MySQL 索引类似于书籍的目录,通过指
两个数组的交集
题目:方法一:哈希,常人都可以想到直接用哈希看是否包含另一个数组即可:这里记得去重:代码语言:javascript代码运行次数:0运行复制for(int i = 0; i < nums1.size(); i++) hash.put(n
括号匹配 “亲兄弟”
1.题目:2.解析:这个题和括号匹配很相似,都可以用栈解决。方法一:直接定义栈,遍历字符串,peek一下字符,是否和栈里的字符相等,相等就出栈,不相等入栈。这里注意字符输出顺序,可以再定义一个栈帮助输出:代码:代码语言:javascript
牛牛的快递
1.题目:解析:(1)这里主要是处理细节:超过1千克向上取整,怎么处理;这是原理:代码:代码语言:javascript代码运行次数:0运行复制public static void main(String[] args) {Scanner i
动态规划入门题目
1.题目:2.解析:做题模式:步骤一:找状态转移方程步骤二:初始化步三:填表步骤四:返回-> dp[n]dp[i]表示到达 i 位置最小花费逻辑:要爬到楼顶先找到 i 位置 ,要找到 i 位置先找到 i-1,和 i-2位置总结:状态
数组中两个字符串的最小距离
1.题目:2.解析:这里利用预处理思想:要找多个位置先记录下某个位置:这里 i 遍历来记录s1,和s2的位置,不断更新来找到最小距离。代码:代码语言:javascript代码运行次数:0运行复制public static void mai
Fibonacci数列最小步数
1.题目:2.解析: 让a,b,c回滚构造斐波那契数列 :a=b, b=c, c=a+b;输入的数 n小于c,在b,c之间,只要 n+1 或者 n-1(贪心思想:n只加一或者只减一)最后再求n-b,c-n的最小值,获得最小步数 代码:代码语
二分查找一>:在排序数组中查找元素的第一个和最后一个位置
1.题目: 2.解析:这里不能用传统二分,因为涉及范围,传统二分时间复杂度会降为O(N),要做些改动。步骤一:查找区间左端点细节图:步骤二:查找区间右端点: 细节图:代码: 代码语言:javascript代码运行次数:0运行复制publi
Mysql中的事务
一:事务的ACID特性及为什么要使用事务 : 1.事务的ACID特性:事务的ACID特性指的是 Atomicity (原子性), Consistency (一致性), Isolation (隔离性)和 Durability (持久性)
二分查找一>x 的平方根
1.题目: 2.解析:代码:代码语言:javascript代码运行次数:0运行复制 public int mySqrt(int x) {if(x < 1) return 0;long left = 1,right = x;while(
二分查找一>搜索插入位置
1.题目: 2.题目解析:这里巧妙利用二段性,找出符合题目前面两种情况,注意情况三target在数组外代码: 代码语言:javascript代码运行次数:0运行复制public int searchInsert(int[] nums, in
初识动态规划一>第 N 个泰波那契数
1.题目: 2.解析:动态规划解题模板解释:本题:1.状态方程:dp[i]第i个泰波那契数2.状态转移方程:根据题意得:把Tn+3 = Tn + Tn+1 + Tn+2,变为Tn = Tn-3 + Tn-2 + Tn-1。3.初始化:先把d
二分查找一>山脉数组的峰顶索引
1.题目: 2.解析:代码:代码语言:javascript代码运行次数:0运行复制public int peakIndexInMountainArray(int[] arr) {int left = 1, right = arr.lengt
二分查找一>寻找峰值
1.题目: 2.解析:暴力遍历代码:O(N),由于该题数据很少所以可以通过代码语言:javascript代码运行次数:0运行复制暴力遍历:O(N),由于该题数据很少所以可以通过int index = 0;for(int i = 1; i &
动态规划基础一>面试题 08.01. 三步问题
1.题目: 2.解析:代码:代码语言:javascript代码运行次数:0运行复制public int waysToStep(int n) {**1.创建dp表2.初始化3.填表4.返回值*int MOD = (int)1e9 + 7;
二分查找一>寻找旋转排序数组中的最小值
1.题目: 2.解析:代码:代码语言:javascript代码运行次数:0运行复制方法一:以最后一个元素为参照物int left = 0, right = nums.length-1;int n = nums.length-1;while(
51单片机学习
前言对于独立按键控制流水灯状态需要用到定时器以及相关中断的知识,所以我们首先需要了解什么是定时器?什么是中断?以及简单的运用中断和定时器的寄存器,配置定时器等相关知识。一、定时器是什么?定时器属于单片机的内部资源,在单片机的内核中,下面是定
掌握 Altair
利用Altair进行声明式数据可视化在数据科学和数据分析领域,数据可视化是理解数据、发现模式和传达见解的重要工具。Altair 是一个基于 Vega 和 Vega-Lite 的 Python 可视化库,它提供了一种声明式的方式来创建交互式和
顺序表实现数据的增删查改
前言本文章主要讨论的是什么是线性表,线性表的种类,以及动态线性表和静态线性表的区别,还有用线性表如何实现数据的增删查改一、线性表是什么??1.线性表线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的
新硬盘第一次使用需要怎样做?
无论是组装新电脑,还是给现有电脑增加存储空间,我们需要进行一些安装硬盘和设置硬盘的操作。对于没有相关经验的用户来说,对于拿到手的新硬盘会感到手足无措,不知道应该从哪里开始。今天小编详细介绍一下新硬盘第一次使用时的流程,包括硬盘的初始化、健康