vocabulary english day
day15| 层序遍历;101. 对称二叉树;226. 翻转二叉树
102. 二叉树的层序遍历 实现思路 1. 利用队列实现 2. 先把根节点放入队列 3. 弹出根节点并读取根节点的值,存入result列表中 4. 判断根节点是否有左右孩子,按顺序存入队列中 5. 进入下一个循环 代码如下: class Solution: """二叉树层序遍历迭代解法""" def ......
day7
1、530 二叉搜索树中的最小绝对差 思路: 二叉搜索树 ==> 中序遍历 ==> 有序序列 代码 class Solution { private int res = Integer.MAX_VALUE; private TreeNode pre;//记录前一个结点 public void tra ......
Day 21 21.1 数据库之redis
Redis redis介绍 定义 Redis(Remote Dictionary Server ,远程字典服务) 是一个使用ANSIC编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库,是NoSQL数据库。 redis的出现主要是为了替代早期的Memcache缓存系统的。 map内存型(数 ......
Day 21 21.3 数据库之MongoDB
MongoDB 一般爬虫使用的数据库,是根据项目来定的。 如需求方指定了使用什么数据库、如果没指定,那么决定权就在爬虫程序员手里, 如果自选的话,mysql 和mongodb 用的都是比较多的。 但不同的数据库品种有各自的优缺点,不同的场景任何一种数据库都可以用来存储,但是某种可能会更好。 比如如果 ......
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 ......
Day 21 21.4 数据库之Python操作MongoDB
PyMongo 在这里我们来看一下Python3下MongoDB的存储操作,在本节开始之前请确保你已经安装好了MongoDB并启动了其服务,另外安装好了Python的PyMongo库。 安装: pip install pymongo 添加文档 import pymongo client = pymo ......
Day 20 20.1 数据库之MySQL安装
数据库 假设现在你已经是某大型互联网公司的高级程序员,让你写一个火车票购票系统,来hold住十一期间全国的购票需求,你怎么写? 在同一时段抢票的人数如果太多,那么你的程序不可能运行在一台机器上,应该是多台机器一起分担用户的购票请求。 那么问题就来了,票务信息的数据存在哪里?存在文件里么? 如果存储在 ......
Day 20 20.2 数据库之MySQL基础
基本概念 前面的学习中我们提到,mysql是关系型数据库, 所以我们要操作mysql就需要使用SQL(结构化查询语言)。 SQL规范 1. 在数据库管理系统中,SQL语句关键字不区分大小写(但建议用大写) ,参数区分大小写。建议命令大写,数据库名、数据表名、字段名统一小写,如数据库名、数据表名、字段 ......
Day 20 20.3 数据库之Python操作MySQL
Python操作MySQL import pymysql # 打开数据库连接 db = pymysql.connect(host='localhost', user='root', passwd='...', port=3306,datebase='...') print('连接成功!') # 使用 ......
flask框架---day01( )
今日内容 1 Flask 和pythonweb框架介绍 # python web框架 ,本质都一样 -django:大而全,内置的app多,第三方app也多 -Flask:小而精,没有过多的内置组件,只完成web框架最基本的功能,需要借助于第三方,完成更丰富的功能 -web.py:是一个小巧灵活的P ......
day14| 94.二叉树的中序遍历;144.二叉树的前序遍历;145.二叉树的后序遍历
94. 二叉树的中序遍历 思路: 1. 找出重复的子问题 这个重复的子问题是:先遍历左子树、再取根节点、最后遍历右子树 2. 确定终止条件 当节点为空是,返回 代码如下: # Definition for a binary tree node. # class TreeNode: # def __i ......
day13| 239.滑动窗口最大值;347.前k个高频元素(一刷至少需要理解思路)
239. 滑动窗口最大值 题目简述: 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 思路: 1. 构建两个空列表,一个名为queue,用来存储元素在nums ......
flask_day01
Flask和pythonweb框架介绍 python中的web框架,本质都是一样的 Django:大而全,内置的app多,第三方app也多 Flask:小而精,没有过多的内置组件,只完成web框架最基本的功能,需要借助于第三方,完成更丰富的功能 web.py:是一个小巧灵活的python框架,它简单 ......
算法随想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 ......
算法随想Day52【单调栈】| LC503-下一个更大元素Ⅱ、LC42-接雨水
LC503. 下一个更大元素Ⅱ 对于“每日温度”,相当于对nums数组,进行了两次遍历。用i % size所得余数作为下标,且循环的圈数为size * 2 vector<int> nextGreaterElements(vector<int>& nums) { int size = nums.siz ......
算法随想Day51【单调栈】| LC739-每日温度、LC496-下一个更大元素Ⅰ
LC739. 每日温度 vector<int> dailyTemperatures(vector<int>& temperatures) { int size = temperatures.size(); vector<int> result(size, 0); vector<int> sta; s ......
day32(2023.4.1)
1.一对多应答型服务器 随后开启多个客户端,运行结果: 2.一对多聊天服务应用 随后开启多个客户端,运行结果: 3.UDP通信入门案例(创建服务端)了解即可 4.UDP通信入门案例(创建客户端)了解即可 运行结果: day32(2023.4.1)星期六 ......
React 07days
更新流程的步骤: 递:beginWork 归:completeWork beginWork 对于如下结构的reactElement: <A> <B/></A> 当进入A的beginWork时,通过对比B current fiberNode与B reactElement,生成B对应wip fiberN ......
day6
1、654 最大二叉树 递归法 构造树一般采用的是前序遍历,因为先构造中间节点,然后递归构造左子树和右子树。 递归三部曲 确定递归函数的参数和返回值 参数传入的是存放元素的数组,返回该数组构造的二叉树的头结点,返回类型是指向节点的指针。 确定终止条件 确定单层递归的逻辑 先要找到数组中最大的值和对应 ......
代码随想录Day17-Leetcode110.平衡二叉树,257. 二叉树的所有路径,404.左叶子之和
110.平衡二叉树 题目链接:https://leetcode.cn/problems/balanced-binary-tree/ 一个显然但似乎不太高效的方法是: 通过递归获取左右子树高度,判断差; 然后递归判断左右结点; 那么一个显然的改进就是后序遍历 /** * Definition for ......
day11| 20.有效的括号;150.逆波兰表达式求值;1047.删除字符串中的所有相邻重复项
20. 有效的括号 题目简述: 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。 思路: 1. 利用一个栈实现 2. 构建 ......
day03
剑指 Offer 05. 替换空格 传送门 题意 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 分析 代码实现 public String replaceSpace(String s) { StringBuilder sb = new StringBuilder(); for(int ......
day02
剑指 Offer 06. 从尾到头打印链表 传送门 题意: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 分析: java代码实现 class Solution{ // 节点定义 // class ListNode{ // int val; // ListNode next; ......
day10| 225.用队列实现栈;232.用栈实现队列
题目简述: 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。bo ......
代码随想录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 ) 分析: ......
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 = ......
day9| 28. 实现strStr();459. 重复的子字符串
28. 实现strStr() 题目简述: 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 思路: 1. 暴力求解 2. ......
day31(2023.3.31)
1.TCP双向通信(创建服务端) 2.TCP双向通信(创建客户端) 运行结果: 3.点对点聊天应用(创建服务端) 4.点对点聊天应用(创建客户端) 运行结果: 5.点对点应用聊天优化(服务端和客户端一起) 运行结果: 3月底了,一个月过去了,继续加油,冲冲冲! day31(2023.3.31)星期五 ......