自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 算法数据结构(异或运算)

背景知识: 异或运算:相同为0,不同为1记:无进位相加。 同或运算:相同为1,不同为0 一、异或运算 1.1什么是异或运算 异或运算:相同为0,不同为1 无进位相加 13——>01101 7——>00111 13^7=?(异或运算) 1.2异或运算的特点 满足交换律结合律(一批数进行异或运算,不管顺序怎么变,结果都一样) 1.3异或运算常见算法题 1、如何不用额外变量交换两个数 题目:a=17 b=13如何不用额外变量交换两个数? 实现:...

2022-02-24 15:14:44 692

原创 算法数据结构(链表)

技巧:快慢指针法 一、链表常用数据结构和技巧 二、常见面试题 1、链表回文结构 1、用容器,用一个栈,先遍历一遍链表加到栈中,再遍历一遍与栈中弹出的比较。 2、找到中点,右边的指针往回指,直到有一个指针为null,最后再恢复链表 2、更改链表顺序 用第一题的思想 3、 4、 有一个带有random指针的特殊链表的克隆 使用容...

2022-02-24 15:14:27 175

原创 算法数据结构(二叉树)

先序: 中序: 后序: 递归序: 递归序中,每一个会有三次来到。、 先序:第一次来到打印,其他不管 就是图中1,2,3三个位置,三次回到自己 二、练习题 1、X在先序遍历中左边的集合与X在先序遍历中右边的集合取交集,是X的祖先节点 原因: ①先序遍历中,X所有祖先节点都在X左边, 后序遍历中,X所有祖先节点在X右边 ②X所有的孩子节点,都不在交集内 ③下图的情况一个在左一个在又 2、用非递归的方式实现二叉...

2022-02-24 15:13:56 111

原创 算法题做题技巧总结

一、二分法 1、题型:题目能构造出左右两边的淘汰逻辑,需要的解能确定在一边有,就能使用二分法。局部最小值问题,只用在一边找到解,不用管另外一边是否有解,也可以使用二分法 2、技巧: ①为了防止越界,二分法的中点应该用L+((R-L)>>1) ②注意二分法的边界条件,while循环中是L<=R,还是L<R,L<R是还有两个数,最后一个等于的场景还需要处理。 ...

2022-02-24 15:13:30 388

原创 算法数据结构(排序算法、二分法)

一、评估算法好坏的核心指标是什么? 背景知识: 1、常数时间操作(固定时间的操作):包含加减乘除运算以及寻址等。 int a 32位 int b 32位 a+b--->都是固定位数的数进行运算,所以是固定时间的操作。 寻址(连续结构) int[ ] nums; nums[14w]; 这些都是常数时间操作。 1、时间复杂度(流程决定) 假设数据量为N,执行完整个流程,常数时间的操作 2、额外空间复杂度(流程决定) 3、常数项时间(实现细节决定) 二、简...

2022-02-24 15:13:01 187

原创 归并排序~

归并排序的思想:左部分先有序,右部分先有序,在用一个merge(归并)让它整体有序。 merge:两个指针各指向左右两边第一个最小的数,谁小拷贝谁,相等拷贝左边的。 递归实现,实现有序。利用mergeSort变得有序,这个有序能帮我们干很多事情。 迭代实现: 一个数组,步长为1时,两个位置去比较,merge。步长为2时,两组数merge。 1、常见的mergeSort题 1、小和问题:每个数左边的数 比自己小的数都累加起来,最后求和。 两种标准: ...

2022-02-24 15:12:47 107

原创 算法数据结构(荷兰国旗问题、快速排序)

一、荷兰国旗问题 给你一个数组arr[ ]以及一个数x,将这个数组的结构调整为arr[i]<=x的放左边,arr[i]>x的放右边。 1.1、将这个数组的结构调整为arr[i]<=x的放左边,arr[i]>x的放右边。 思路:在数组的-1位置设置一个<=x的区域 ①当前数<=目标数,当前数和(<=x区域)下一个数交换,<=x区域向右扩,当前数跳下一个 ②当前数>=目标数,当前数数跳下一个 1.2、将这个数组的结构调整为arr[i]<x.

2022-02-24 15:12:24 501

原创 算法数据结构(贪心算法)

一、贪心算法 解释: 贪心:局部(每一步)标准下最优解 贪心策略有效:局部标准下的最优解推出全局的最优解 二、从头到尾解一道贪心算法求解的习题 解释: 字典序:java中字符串排大小,字符串长度相等的时候直接比数字(字符的ASCII码),长度不一样的时候,较短的后面补最小的ASCII码,再和较长的比大小。 举例: 有一个矩阵,矩阵中只有0和1 有一个小人,从矩阵左上角出发到右下角,到达右下角之后再回到左上角 小人的运动轨迹: ①从左上来到右下过程中,只能像右或者向下...

2022-02-24 15:12:13 87

原创 算法数据结构(堆和堆结构)

一、完全二叉树 理解堆之前先了解完全二叉树。 如果一个树是满的,它属于完全二叉树。如果一个树不满,但它处于正在变满的路上(从左往右),也属于完全二叉树。 从左往右依次变满,属于 跳过左孩子,直接右孩子,不属于 从零出发的一个连续数组,可以被认为是一个完全二叉树。(脑子中想象的) 这个数组想象出来的完全二叉树,i位置的左子孩子:2*i+1,右子孩子2*i+2,父节点(i-1)/2 二、堆 (1)是完全二叉树 (2)大根堆:每一颗子树的最大值都是头结点的值。 ...

2022-02-24 15:11:45 178

原创 刷题笔记~

一、DFS 1、LeetCode No1254 1、题目中要求封闭岛屿的数目,即有多少片被1包围的0。我们首先想到边界上的0是肯定不会被1包围的,连着边界上的0肯定也是不会被1包围的,所以要去除边界上的0和连着边界的0的干扰。因此遍历四个边界,边界上的每个点向下去做深度搜索,若是0的话改成1,排除干扰。 2、此时二维数组中剩下的0肯定都是被1包围的了,遍历这个二维数组,遇到0,封闭岛数量加1 同时深度遍历,把连着的0变成1. 3、深度遍历(DFS):传入遍历到的点,上下左右做深度搜索,直到越界

2022-02-24 15:11:17 70

原创 @Valid参数校验注解学习

1

2021-08-06 17:03:25 959

原创 oracle查询之单表查询

查询一共有6个子句 书写顺序 执行顺序 作用 select 5 显示,投影 from 1 将文件载入内存并生成实例,并逐条取出做 for循环 where 2 筛选 group by 3

2020-07-15 23:32:01 462

原创 Oracle数据库基础

ORACLE数据库基础 Oracle数据库 一、数据库基础 DBS=DB+DBMS 数据库系统=数据库+数据库管理系统 数据库三大重点:设计,查询,编码 SQL:Web服务器和数据库对话的语言(结构化查询语句) 数据库内部存储结构有三种: 1、关系型(表格) 2、层次型 3、网状型 常见的数据库:oracle(甲骨文公司) mysql(中小型数据库) sql-server(微软) 二、数据库的设计 数据库的三大范式(设计表格时需要注意的三点): 第一范式:数据库表中的所有字段值都是不可分解的原子值(数据

2020-07-15 23:24:59 95

原创 萌芽

萌芽 以梦为马,以汗为泉 生命不息,希望不止

2020-07-14 18:14:08 185

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除