- 博客(39)
- 收藏
- 关注
原创 单调数列:判断数列单调
题目题解class Solution {public: bool isMonotonic(vector<int>& A) { bool flag = true; int index = 1; int n = A.size(); while(index < n && A[index] == A[index-1])++index; if(index == n) return
2021-04-06 21:40:45
355
原创 计算三维体的表面积
题目题解class Solution {public: int surfaceArea(vector<vector<int>>& grid) { int m = grid.size(); if(!m) return 0; int n = grid[0].size(); int sum = 0; for(int i=0;i<m;++i){ for(int
2021-04-06 16:01:58
416
原创 字符串的双映射:查找和替换模式
题目:题解:class Solution {public: vector<string> findAndReplacePattern(vector<string>& words, string pattern) { vector<string> ans; int len = pattern.length(); for(string &word : words){ if(
2021-04-06 15:00:25
242
原创 重建二叉树:根据前序和后序遍历重构二叉树
题目题解/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: TreeNode *build(vector&l
2021-04-06 14:17:32
391
原创 c++序列化二叉树
题目描述题解:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Codec {public: // Encodes a tree to a
2021-04-02 20:42:25
256
原创 跳跃游戏 II
题目:题解:class Solution {public: int jump(vector<int>& nums) { int position = nums.size() - 1; int steps = 0; while(position > 0){ for(int i = 0;i < position;++i){ if(i + nums[i] >
2021-03-26 22:03:00
81
原创 二叉树的最小深度(广度优先搜索)
题目:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/来源:LeetCode代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), righ
2021-03-22 18:37:28
160
原创 接雨水(leetcode习题)
题目链接https://leetcode-cn.com/problems/trapping-rain-water/方法一:动态规划class Solution {public: int trap(vector<int>& height) { if(!height.size()) return 0; vector<int> left_max_arr(height.size(),0); vector<int&
2021-03-20 18:18:23
150
原创 面试题 17.23. 最大黑方阵
面试题 17.23. 最大黑方阵c++题解面试题 17.23. 最大黑方阵示例 1:题解:题解思路面试题 17.23. 最大黑方阵给定一个方阵,其中每个单元(像素)非黑即白。设计一个算法,找出 4 条边皆为黑色像素的最大子方阵。返回一个数组 [r, c, size] ,其中 r, c 分别代表子方阵左上角的行号和列号,size 是子方阵的边长。若有多个满足条件的子方阵,返回 r 最小的,若 r 相同,返回 c 最小的子方阵。若无满足条件的子方阵,返回空数组。示例 1:输入:[[1,0,1],
2021-03-17 11:37:10
243
原创 8086x8088指令系统(一)指令格式和寻址方式
文章目录8086x8088指令系统8086x8088指令格式8086x8088寻址方式规定操作数的方法数据寻址方式立即寻址示例寄存器寻址示例直接寻址示例寄存器间接寻址示例寄存器相对寻址示例:基址变址且相对寻址示例隐含寻址示例直接寻址寄存器间接寻址寄存器相对寻址基址变址寻址转移地址寻址方式段内直接寻址段内间接寻址段间直接寻址段间间接寻址示例小结8086x8088指令系统IBMPC/XT微型计算机的微处理器采用的是8088芯片指令系统是指处理器所能完成的所有指令的集合。它是在微处理器设计时就
2020-11-08 10:47:05
2003
原创 8086x8088寄存器结构
文章目录8086x8088寄存器结构通用寄存器组数据寄存器指针寄存器和变址寄存器SP(Stack Pointer)堆栈指针BP(Base Pointer)基址指针SI(Source Index),DI(Destination Index)变址寄存器小结段寄存器组代码段寄存器数据段寄存器附加段寄存器小结控制寄存器组指令指针标志寄存器状态标志进位标志奇偶标志辅助进位标志零标志符号标志溢出标志控制标志方向标志中断允许标志陷阱标志8086x8088寄存器结构8086CPU内部具有14个16位寄存器,用于提供运算
2020-11-05 13:16:52
1861
原创 80x86微处理器(一)
文章目录80x86微处理器(一)三级存储器结构微处理器主要技术参数字长内部工作频率PC系列微处理器外部工作频率前端总线频率片内Cache容量CPU Cache分类地址总线宽度数据总线宽度工作电压微处理器内部结构CPU功能设计思路基本功能:程序设计:CPU内部结构控制器I/O控制逻辑计算机工作过程微处理器外部结构总线及信号的功能设计总线分类80x86微处理器(一)微处理器是组成微型计算机系统的核心硬件。微处理器通过与某些其他逻辑电路连接组成主板机系统,形成系统级总线。许多外部设备经过接口逻辑与系统级
2020-11-05 10:02:29
1221
原创 Spring学习笔记(一)
文章目录Spring简介Spring特点方便解耦,简化开发AOP编程的支持声明式事务的支持方便程序的测试方便集成各种优秀框架spring组织架构Spring下载Spring核心模块Spring中的IOC实现过程添加jar包创建applicationContext.xml在配置文件中创建对象加载配置文件,获得对象bean标签的属性介绍对象的创建方式无参构造有参构造静态方法创建对象SpringBean的生命周期Bean生命周期的执行过程DI注入值set注入值基本类型值注入引用属性类型值注入构造注入可以通过nam
2020-10-29 14:20:56
729
原创 JAVA Web基础概念
文章目录JAVA Web基础概念转发(forward)和重定向(redirect)的区别?浏览器网址请求次数请求过程重定向:转发:作用域与request生命周期重定向转发调用方式重定向转发重写和重载的区别重写(Override)返回值与形参异常访问修饰符好处重载(Overload)返回值和形参访问修饰符子父类异常Servlet生命周期Servlet是什么?Servlet架构Servlet任务生命周期init()方法Service()方法doGet()方法doPost()方法destroy()方法Servle
2020-10-27 13:03:53
225
2
原创 JAVA热身练习1
文章目录java热身练习题目代码运行效果java热身练习题目判断一个数能被几个9整除。两个字符串连接程序。写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度打印出杨辉三角形。代码import java.lang.String;import java.util.Scanner;public class test{ static int check_1(int n){ int cnt=0; while((n%9)==0){
2020-10-27 12:58:35
148
原创 python TCP-UDP-VLC流转发
文章目录实现功能:ServerAServerBinit.pyreceive.pysend.pyserve.py测试代码实现功能:设计两个服务器端,ServerA与ServerB,ServerA接收来自VLC的音频流(采用UDP协议),将其通过TCP转发给ServerB,之后ServerB再通过UDP将视频发给接收端的VLC。由此实现一个简单的Server间的TCP传输以及S-C之间的UDP传输。其中ServeA与ServeB中A-B又是S-C的关系(Server-Client)ServerA#
2020-10-11 17:07:57
804
原创 分布式系统笔记(一)
文章目录分布式系统两个重要的含义集中式系统为什么用分布式系统**分布式系统挑战**异构性缺乏全球时钟一致性普遍的节点故障不可靠的网络故障的独立性并发透明性开放性安全性不确定性可扩展性分布式系统的历史1.单应用架构2.应用服务器和数据库服务器分离3.应用服务器集群4.数据库服务器读写分离5.使用搜索引擎,缓解数据库读库压力6.引入缓存机制7.数据库的水平/垂直拆分8.应用的拆分分布式系统设计分布式结构体系1.基于对象的体系结构2.面向服务的架构3.REST风格的架构4.微服务架构(MSA)5.容器技术6.Se
2020-08-25 13:59:28
1072
1
原创 JAVA习题之第一个只出现一次的字符
题目描述在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。示例:s = “abaccdeff”返回 “b”s = “”返回 " "限制:0 <= s 的长度 <= 50000来源:力扣(LeetCode)思路创建两个数组,一个用来存储字符出现的顺序,另一个用来存储出现的个数利用char和int之间的转换即可代码class Soluti
2020-08-12 20:01:44
570
原创 JAVA习题之计数二进制子串
题目描述给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。重复出现的子串要计算它们出现的次数。示例 1 :输入: “00110011”输出: 6解释: 有6个子串具有相同数量的连续1和0:“0011”,“01”,“1100”,“10”,“0011” 和 “01”。请注意,一些重复出现的子串要计算它们出现的次数。另外,“00110011”不是有效的子串,因为所有的0(和1)没有组合在一起。示例 2 :输入: “101
2020-08-12 19:10:38
196
原创 JAVA习题之反转单词顺序
题目描述输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。示例 1:输入: “the sky is blue”输出: “blue is sky the”示例 2:输入: " hello world! "输出: “world! hello”解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 3:输入: “a
2020-08-12 18:30:43
661
原创 JAVA习题之调整数组顺序
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例:输入:nums = [1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4] 也是正确的答案之一。提示:1 <= nums.length <= 500001 <= nums[i] <= 10000来源:力扣(LeetCode)代码class Solution { public int[] exchange(int[]
2020-08-12 18:01:51
836
原创 JAVA习题之连续子数组最大和
题目描述输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。提示:1 <= arr.length <= 10^5-100 <= arr[i] <= 100来源:力扣(LeetCode)题目分析采用贪心和动态规划最简单代码class Solution {
2020-08-12 17:43:59
272
原创 JAVA习题之链表中倒数第k个节点
题目描述输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.代码来源:力扣(LeetCode)/** * Definition for singly-linked list. * public
2020-08-12 17:04:35
180
原创 JAVA习题之青蛙跳台问题
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n = 0输出:1提示:0 <= n <= 100来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/qing-wa-tiao
2020-08-12 16:51:05
170
原创 JAVA习题之顺时针打印矩阵
题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]限制:0 <= matrix.length <= 1000 <= matrix[i].length <=
2020-08-12 16:25:56
170
原创 因特网笔记之TCP/UDP协议详解
文章目录TCP/UDP协议详解简介TCP协议简介TCP的功能UDP协议简介UDP的功能套接字应用层与TCP/UDP的关系应用层对于传输层的控制权可供应用程序使用的运输服务1.可靠数据传输2.吞吐量3.定时4.安全性因特网提供的运输服务TCP服务面向连接的服务可靠的数据传送服务拥塞控制机制TCP安全UDP服务UDP套接字编程简单的UDP Client-Server程序UDPClient.pyUDPServer.pyTCP套接字编程TCPClient.pyTCPServerTCP/UDP协议详解简介TCP
2020-08-11 10:12:53
1215
1
原创 因特网协议分层
文章目录因特网协议分层分层服务协议栈因特网协议栈1.应用层应用层协议:HTTPSMTPFTPDNS报文2.运输层传输层协议TCPUDP报文段(segment)3.网络层网络层协议IP数据报(datagram)4.链路层链路层协议帧(frame)5.物理层因特网协议分层分层为了给网络协议的设计者提供一个结构,网络设计者以分层的方式组织协议以及实现这些协议的网络硬件和软件。每个协议属于这些层次之一。服务协议分层的下一层回向上一层提供特定的服务,即所谓一层的服务模型。协议栈各层所有的协议被称为协议
2020-08-09 18:02:41
1221
原创 前端笔记之前端Web技术的组成
文章目录前端Web技术的组成1.HTMLHTML是一种标记语言2.CssCss是一种规则样式语言3.JavaScriptJavaScript是一种脚本语言前端Web技术的组成1.HTMLHTML是一种标记语言用来结构化我们的网页内容并赋予内容含义,例如定义标题、段落和数据表,或在页面中嵌入标题和数据表。2.CssCss是一种规则样式语言可将样式应用于HTML内容,例如设置背景颜色和字体,在多个列中布局内容。3.JavaScriptJavaScript是一种脚本语言可以用来创建动态更新的内
2020-08-09 00:37:51
483
原创 前端笔记之JavaScript简介
文章目录JavaScript简介1.什么是JavaScript什么是客户端语言解释性语言与编译性语言2.JavaScript特点什么是弱类型:JavaScript简介1.什么是JavaScriptJavaScript是一种客户端脚本语言(脚本语言是一种轻量级的编程语言)。JavaScript通常被直接嵌入HTML界面,由浏览器执行JavaScript是一种解释型语言(代码不执行预编译)什么是客户端语言在客户端发出请求后,服务器接收到请求,会返回响应(如一串字符串)给客户端,客户端的浏览器接
2020-08-09 00:35:59
214
原创 因特网笔记(一)
文章目录什么是因特网?1.构成因特网的基本构件和软件组件TCP和IP2.为分布式应用提供服务的联网基础设施服务描述分布式应用程序因特网可以被描述为应用程序的平台套接字什么是因特网?1.构成因特网的基本构件和软件组件因特网:世界范围的计算机网络端系统通过因特网服务提供商(Internet Service Privoder,ISP)接入因特网每个ISP自身就是一个由多台分组交换机和多段通信链路构成的网络。端系统、分组交换机、服务器和其他因特网部件都要运行一系列的协议(Protocal),这些协议
2020-08-08 21:24:27
248
原创 Java学习笔记之JSON解析
文章目录JSON解析JSON解析做什么JSON的方法GSON将对象转为JSON字符串转换JSON字符串的步骤将JSON字符串转换为对象FastJson将对象转为JSON字符串转换JSON字符串的步骤将JSON字符串转换为对象JSON解析JSON解析做什么将Java中的对象 快速的转换为 JSON格式的字符串.将JSON格式的字符串, 转换为Java的对象.JSON的方法GSONFastJsonGSON将对象转为JSON字符串转换JSON字符串的步骤导入jar包
2020-08-05 11:21:07
341
2
原创 POJ练习题之:败方树
问题描述给定一个整数数组,要求对数组中的元素构建败方树(数组相邻元素两两比较,从第一个元素开始)。之后修改数组中的元素,要求输出初始构建以及修改后得到的败方树的所有内部结点代表的整数(从左到右从上到下输出)输入第一行为数组的元素个数n和修改的次数m。第二行为n个整数,即数组的元素。接下来m行代表m次修改操作,每次操作修改数组中的一个元素,每一行包括两个整数,第一个为被修改元素在数组中的标号,第二个为修改之后的元素值。输出输出m+1行。第一行为初始构建的败方树的所有内部结点代表的整数(按照树的
2020-06-30 23:58:20
933
4
原创 Verilog上机实验(三):整数乘法器
实验要求设计一个32bits整数乘法器,输入为a[],b[],输出为y[]必做面积优化的迭代乘法器要求乘法器的迭代次数是1,2,4,8,16,32之内的可编程参数。利用Vivado进行逻辑综合,分析不同迭代次数对逻辑资源的占用、吞吐性能、硬件效率的影响设计一种方便展示的模块,验证你的设计(利用第一个实验的7位数码管的显示)选做(提高要求)性能优化的单周期流水线乘法器在单周期乘法器的基础上引入流水线结构,使流水线是个可编程参数。在流水线级数为1,2,4,8的情况下分别进行逻辑综合核心
2020-06-29 14:38:07
3278
原创 Verilog上机实验(二):多功能计数器
目录实验要求第一步:设计一个加减计数器,将其与实验一中的Binary-to-BCD译码器、和交替显示控制电路结合如图:计数器输入:Clk,Up,Down,Rst,Enable8bits输出:Cnt7~Cnt0Rst=1 ,计数器清零Rst=0,Enable=1 ,则每个时钟上跳沿或下跳沿加一(Up=1)或减一(Down=1)第二步将计数器输入改成按键控制:Basy3电路板(xc7a35tcpg236-1)按上键代表Up加计数下键代表Down减计数中间键代表Enable表示暂停
2020-06-29 12:29:29
4246
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人