楼梯day 45 70

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

flask框架---day01( )

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

面试题45(Java)-把数组排成最小的数(中等)

题目: 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 示例 1: 输入: [10,2] 输出: "102" 示例 2: 输入: [3,30,34,5,9] 输出: "3033459" 提示: 0 < nums.length <= 100 说明: 输出 ......
数组 Java 45

【DP】LeetCode 70. 爬楼梯

题目链接 70. 爬楼梯 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 表示状态 假设走到了最后一层台阶,考虑一下我们要存储的信息: 走到这最后一层台阶的方法数 当前台阶数,用于判断是否走到了最后一层台阶 这时候很容易想到使用一维数组 ......
楼梯 LeetCode 70

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

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

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

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

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

算法随想Day52【单调栈】| LC503-下一个更大元素Ⅱ、LC42-接雨水

LC503. 下一个更大元素Ⅱ 对于“每日温度”,相当于对nums数组,进行了两次遍历。用i % size所得余数作为下标,且循环的圈数为size * 2 vector<int> nextGreaterElements(vector<int>& nums) { int size = nums.siz ......
随想 算法 雨水 元素 LC

算法随想Day51【单调栈】| LC739-每日温度、LC496-下一个更大元素Ⅰ

LC739. 每日温度 vector<int> dailyTemperatures(vector<int>& temperatures) { int size = temperatures.size(); vector<int> result(size, 0); vector<int> sta; s ......
随想 算法 元素 温度 LC

day32(2023.4.1)

1.一对多应答型服务器 随后开启多个客户端,运行结果: 2.一对多聊天服务应用 随后开启多个客户端,运行结果: 3.UDP通信入门案例(创建服务端)了解即可 4.UDP通信入门案例(创建客户端)了解即可 运行结果: day32(2023.4.1)星期六 ......
2023 day 32

React 07days

更新流程的步骤: 递:beginWork 归:completeWork beginWork 对于如下结构的reactElement: <A> <B/></A> 当进入A的beginWork时,通过对比B current fiberNode与B reactElement,生成B对应wip fiberN ......
React days 07

day6

1、654 最大二叉树 递归法 构造树一般采用的是前序遍历,因为先构造中间节点,然后递归构造左子树和右子树。 递归三部曲 确定递归函数的参数和返回值 参数传入的是存放元素的数组,返回该数组构造的二叉树的头结点,返回类型是指向节点的指针。 确定终止条件 确定单层递归的逻辑 先要找到数组中最大的值和对应 ......
day6 day

HJ70_矩阵乘法计算量估算_入门栈使用的典型题

反思: 这题咋一看不难,但是越做坑越多,按照一开始不完善的思路无法完全通过测试。 参看高赞答案,代码行数特少。但是没考虑一个括号中有三个矩阵的情况。 思路: 1、判断哪两个矩阵开始相乘的条件:遇到“)”时,该字符前两个矩阵开始相乘。把相乘后矩阵行列数组压入栈栈中。该题默认不存在(A(BCD))一个括 ......
乘法 矩阵 典型 HJ 70

代码随想录Day17-Leetcode110.平衡二叉树,257. 二叉树的所有路径,404.左叶子之和

110.平衡二叉树 题目链接:https://leetcode.cn/problems/balanced-binary-tree/ 一个显然但似乎不太高效的方法是: 通过递归获取左右子树高度,判断差; 然后递归判断左右结点; 那么一个显然的改进就是后序遍历 /** * Definition for ......
随想录 之和 随想 路径 Leetcode

day11| 20.有效的括号;150.逆波兰表达式求值;1047.删除字符串中的所有相邻重复项

20. 有效的括号 题目简述: 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。 思路: 1. 利用一个栈实现 2. 构建 ......
括号 表达式 字符串 字符 1047

day03

剑指 Offer 05. 替换空格 传送门 题意 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 分析 代码实现 public String replaceSpace(String s) { StringBuilder sb = new StringBuilder(); for(int ......
day 03

day02

剑指 Offer 06. 从尾到头打印链表 传送门 题意: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 分析: java代码实现 class Solution{ // 节点定义 // class ListNode{ // int val; // ListNode next; ......
day 02

day10| 225.用队列实现栈;232.用栈实现队列

题目简述: 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。bo ......
队列 day 225 232 10

代码随想录day 32● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

122.买卖股票的最佳时机II 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [7,1,5,3,6 ......
随想录 随想 时机 代码 股票

day01

剑指 Offer 09. 用两个栈实现队列 leetcode传送门 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 分析: ......
day 01

day32 打卡122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II

day32 打卡122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II 122.买卖股票的最佳时机II 122题目链接 class Solution { public int maxProfit(int[] prices) { int result = 0 ; for (int i = ......
时机 股票 day 122 32