指针leetcode day6 day

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

智能指针

1、分析下面代码,说出问题所在 #include <bits/stdc++.h> using namespace std; class A{ public: A(){}; A(int a): age(a) {}; ~A(){}; private: int age; }; int main() { A ......
指针 智能

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

【入门】Go语言指针详解

一、指针介绍 1.1 什么是指针? 指针是一种存储变量内存地址的变量。 Go 语言中的指针与 C/C++ 中的指针类似,但是 Go 语言中的指针不能进行指针运算,也不能进行指针类型转换。 1.2 指针有什么用? 在Go语言中,指针是一种特殊的变量,它存储了一个变量的内存地址。通过指针,我们可以直接访 ......
指针 语言

leetcode 394.字符串解码 Java

394.字符串解码 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格 ......
字符串 字符 leetcode Java 394

leetcode 739.每日的温度 Java

739.每日的温度 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入: temperatures = [73, ......
leetcode 温度 Java 739

leetcode 20. 有效的括号 Java

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。 示例 1: 输入:s = "()" 输出:true 示例 2: 输入 ......
括号 leetcode Java 20

Leetcode(剑指offer专项训练)——DP专项(6)

排序的数目 题目 给定一个由 不同 正整数组成的数组 nums ,和一个目标整数 target 。请从 nums 中找出并返回总和为 target 的元素组合的个数。数组中的数字可以在一次排列中出现任意次,但是顺序不同的序列被视作不同的组合。 题目数据保证答案符合 32 位整数范围。 链接 无效DF ......
专项 Leetcode offer

Leetcode(剑指offer专项训练)——DP专项(5)

最少的硬币数目 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每种硬币的数量是无限的。 链接 完全背包问题 思路:主要是要自己推出动态转移方程 $$ F(i)=min_{ ......
专项 Leetcode offer

flask框架---day01( )

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

【DP】LeetCode 64. 最小路径和

题目链接 64. 最小路径和 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 表示状态 假设到了右下角,考虑一下我们要存储的信息 走到最后坐标的最小步数 当前坐标的信息,用来判断是否走到了右下角 很容易联想到使用二维数组 dp[i][j ......
路径 LeetCode 64

【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

[LeetCode] 1338. Reduce Array Size to The Half 数组大小减半

You are given an integer array arr. You can choose a set of integers and remove all the occurrences of these integers in the array. Return the minimum ......
数组 LeetCode 大小 Reduce Array

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