回文 总和 算法day

day18| 513.找树左下角的值;112.路径总和;113.路径总和II;106;105

513.找树左下角的值 深度优先搜索 class Solution: def findBottomLeftValue(self, root: Optional[TreeNode]) -> int: curVal = curHeight = 0 def dfs(node: Optional[TreeN ......
总和 路径 day 112 106

day17| 110.平衡二叉树;257.二叉树的所有路径;404.左叶子之和

110. 平衡二叉树 自顶向下递归 1. 获得计算二叉树高度的函数 2. 对于遍历到的节点,首先计算左右子树的高度,看是否平衡 3. 在分别遍历到左右子树,判断左子树和右子树是否平衡 代码如下: class Solution: def isBalanced(self, root: TreeNode) ......
之和 路径 叶子 day 110

day16| 222.完全二叉树的节点个数

104和111题见前一天 222.完全二叉树的节点个数 题目简述: 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层 ......
节点 个数 day 222 16

day15| 层序遍历;101. 对称二叉树;226. 翻转二叉树

102. 二叉树的层序遍历 实现思路 1. 利用队列实现 2. 先把根节点放入队列 3. 弹出根节点并读取根节点的值,存入result列表中 4. 判断根节点是否有左右孩子,按顺序存入队列中 5. 进入下一个循环 代码如下: class Solution: """二叉树层序遍历迭代解法""" def ......
day 101 226 15

day7

1、530 二叉搜索树中的最小绝对差 思路: 二叉搜索树 ==> 中序遍历 ==> 有序序列 代码 class Solution { private int res = Integer.MAX_VALUE; private TreeNode pre;//记录前一个结点 public void tra ......
day7 day

Day 21 21.1 数据库之redis

Redis redis介绍 定义 Redis(Remote Dictionary Server ,远程字典服务) 是一个使用ANSIC编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库,是NoSQL数据库。 redis的出现主要是为了替代早期的Memcache缓存系统的。 map内存型(数 ......
数据库 数据 redis 21 21.1

Day 21 21.3 数据库之MongoDB

MongoDB 一般爬虫使用的数据库,是根据项目来定的。 如需求方指定了使用什么数据库、如果没指定,那么决定权就在爬虫程序员手里, 如果自选的话,mysql 和mongodb 用的都是比较多的。 但不同的数据库品种有各自的优缺点,不同的场景任何一种数据库都可以用来存储,但是某种可能会更好。 比如如果 ......
MongoDB 数据库 数据 21 21.3

Day 21 21.2 数据库之Python操作redis

Python操作redis (1)连接redis # 方式1 import redis r = redis.Redis(host='127.0.0.1', port=6379) r.set('foo', 'Bar') print(r.get('foo')) # 方式2 import redis po ......
数据库 数据 Python redis 21

Day 21 21.4 数据库之Python操作MongoDB

PyMongo 在这里我们来看一下Python3下MongoDB的存储操作,在本节开始之前请确保你已经安装好了MongoDB并启动了其服务,另外安装好了Python的PyMongo库。 安装: pip install pymongo 添加文档 import pymongo client = pymo ......
MongoDB 数据库 数据 Python 21

Day 20 20.1 数据库之MySQL安装

数据库 假设现在你已经是某大型互联网公司的高级程序员,让你写一个火车票购票系统,来hold住十一期间全国的购票需求,你怎么写? 在同一时段抢票的人数如果太多,那么你的程序不可能运行在一台机器上,应该是多台机器一起分担用户的购票请求。 那么问题就来了,票务信息的数据存在哪里?存在文件里么? 如果存储在 ......
数据库 数据 MySQL 20 20.1

Day 20 20.2 数据库之MySQL基础

基本概念 前面的学习中我们提到,mysql是关系型数据库, 所以我们要操作mysql就需要使用SQL(结构化查询语言)。 SQL规范 1. 在数据库管理系统中,SQL语句关键字不区分大小写(但建议用大写) ,参数区分大小写。建议命令大写,数据库名、数据表名、字段名统一小写,如数据库名、数据表名、字段 ......
数据库 基础 数据 MySQL 20

Day 20 20.3 数据库之Python操作MySQL

Python操作MySQL import pymysql # 打开数据库连接 db = pymysql.connect(host='localhost', user='root', passwd='...', port=3306,datebase='...') print('连接成功!') # 使用 ......
数据库 数据 Python MySQL 20

算法3

9.一维数组前缀和s[0]=0;s[i]=s[i-1]+a[i];//i>=1 初始化//l-k区间范围的和s[k]-s[l-1];10.二维数组前缀和s[x][y]=s[x-1]s[y]+s[x][y-1]-s[x-1][y-1]+a[x][y];//初始化//(x1,y1)到(x2,y2)矩阵和 ......
算法

内存淘汰算法

内存有限,内存不够时选择一些移除内存空间。 1、先进先出FIFO ->适合缓存数据 2、最近最少使用LRU ->适合需要快速访问数据,如web服务器缓存 根据使用时间进行淘汰 3、最少使用LFU ->大规模数据存储 根据使用次数进行淘汰 4、随机Random ......
算法 内存

算法

1.快排排序void quick_sort(int q[],int l,int r){if(l>=r)return ;int i=l-1,j=r+1;int x=q[l+r>>1];while(i<j){do i++;while(q[i]<x);do j--;while(q[j]>x);if(i<j ......
算法

算法2

4.二分算法(浮点数)bool check(double x).....//x满足某种性质void bsearch_3(double l,double r){const eps=1e-6;//控制精度while(i-j<eps){int mid=(l+r)/2;if(check(mid))l=mid ......
算法

算法基础课——合并集合(并查集)

合并集合 问题描述 一共有 n 个数,编号是 1∼n,最开始每个数各自在一个集合中。 现在要进行 m 个操作,操作共有两种: M a b,将编号为 a 和 b 的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作; Q a b,询问编号为 a 和 b 的两个数是否在同一个集合中; 输 ......
基础课 算法 基础

算法基础课——连通块中点的数量

连通块中点的数量 问题描述 给定一个包含 n 个点(编号为 1∼n)的无向图,初始时图中没有边。 现在要进行 m 个操作,操作共有三种: C a b,在点 a 和点 b 之间连一条边,a 和 b 可能相等; Q1 a b,询问点 a 和点 b 是否在同一个连通块中,a 和 b 可能相等; Q2 a, ......
中点 基础课 算法 数量 基础

常见排序算法以及Java实现

快速排序 class Solution { //创建随机对象,便于后于选基准值 static Random random = new Random(); public int[] sortArray(int[] nums) { int n = nums.length; int left = 0; i ......
算法 常见 Java

【LBLD】小而美的算法技巧:差分数组

【LBLD】差小而美的算法技巧:差分数组 差分数组 差分数组的第 i 个元素存储原数组第 i 个元素和第 i-1 个元素的差值,其中,差分数组的首元素的值 diff[0] 为原数组首元素的值 nums[0]。 1109.航班预订统计 class Solution { public: vector<i ......
数组 算法 技巧 LBLD

flask框架---day01( )

今日内容 1 Flask 和pythonweb框架介绍 # python web框架 ,本质都一样 -django:大而全,内置的app多,第三方app也多 -Flask:小而精,没有过多的内置组件,只完成web框架最基本的功能,需要借助于第三方,完成更丰富的功能 -web.py:是一个小巧灵活的P ......
框架 flask day 01

使用 MybatisPlusCore 自带的雪花算法生成不重复数字

这里不介绍雪花算法的实现原理,可以自行搜索查阅网上的资料。这里主要介绍雪花算法的使用场景,如何调用第三方类库 Mybatis Plus Core 自带的方法来使用雪花算法。 雪花算法的主要使用场景,就是生成不重复的数字,作为数据库表的主键使用。你可能会使用 uuid 作为主键,但是其占用 16 个字 ......
MybatisPlusCore 算法 雪花 数字

day14| 94.二叉树的中序遍历;144.二叉树的前序遍历;145.二叉树的后序遍历

94. 二叉树的中序遍历 思路: 1. 找出重复的子问题 这个重复的子问题是:先遍历左子树、再取根节点、最后遍历右子树 2. 确定终止条件 当节点为空是,返回 代码如下: # Definition for a binary tree node. # class TreeNode: # def __i ......
day 144 145 14 94

【算法学习】图论模板

注意! 并查集只适用于无向图。 DFS 特点:当前层可以获得下层状态、向下层不断遍历 处理方式:递归 模板: // dfs注意剪枝 void dfs(int u){ if(u > n) { 输出路径 return; } for(int i = 0; i < n;i ++) // 遍历点 { if(条 ......
算法 模板

算法中的初始化0x3f

写算法的时候,我们常常需要用到设置一个常量用来代表“无穷大”,比如对于int类型的数,有的人会采用INT_MAX,即0x7fffffff作为无穷大。 但是以INT_MAX为无穷大常常面临一个问题,即加一个其他的数会溢出。而这种情况在动态规划,或者其他一些递推的算法中常常出现,很有可能导致算法出问题。 ......
算法 0x3f 0x x3 3f

洛谷P1217 [USACO1.5]回文质数 Prime Palindromes

#include<bits/stdc++.h> using namespace std; int a,b; bool zs(int x) { if(x%2>0) { for(int i=3;i<x;i+=2) if(x%i==0) return false; return true; }else r ......
质数 回文 Palindromes USACO1 P1217

day13| 239.滑动窗口最大值;347.前k个高频元素(一刷至少需要理解思路)

239. 滑动窗口最大值 题目简述: 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 思路: 1. 构建两个空列表,一个名为queue,用来存储元素在nums ......
最大值 思路 元素 day 239

[原创][luogu]P1217 回文质数 真·生成回文的方法

不多说,直接看代码,都在注释里 // 中心思想: // * 1. 代入数据只想回文的一半和位数的变化 // * 例. 1001 和 101 都存的是10, 但是位数一个是4, 一个是3 // * 2. 安装只存一半的思想,进位时是从中心进位 // * 例. 1001 => 1111, 101 => ......
回文 质数 方法 luogu P1217

flask_day01

Flask和pythonweb框架介绍 python中的web框架,本质都是一样的 Django:大而全,内置的app多,第三方app也多 Flask:小而精,没有过多的内置组件,只完成web框架最基本的功能,需要借助于第三方,完成更丰富的功能 web.py:是一个小巧灵活的python框架,它简单 ......
flask_day flask day 01

算法随想Day53【单调栈】| LC84-柱状图中最大的矩形

int largestRectangleArea(vector& heights) { int result = 0; stack st; heights.insert(heights.begin(), 0); heights.push_back(0); st.push(0); for (int i ......
矩形 随想 算法 Day 53