- 博客(48)
- 收藏
- 关注
原创 LeetCode 2580.统计将重叠区间合并成组的方案数
区间 [1,3] ,[2,5] 和 [4,8] 在第 1 个组中,[10,20] 在第 2 个组中。区间 [1,3] ,[2,5] 和 [4,8] 在第 2 个组中,[10,20] 在第 1 个组中。输入:ranges = [[1,3],[10,20],[2,5],[4,8]]同理,区间 [2,5] 和 [4,8] 也有交集,所以它们也必须在同一个组中。区间 [1,3] 和 [2,5] 有交集,所以它们必须在同一个组中。输入:ranges = [[6,10],[5,15]]将两个区间都放在第 2 个组中。
2024-03-27 20:51:39
465
原创 LeetCode342. 4的幂
给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true;否则,返回 false。整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x。
2024-03-26 20:53:30
332
原创 leetCode209.长度最小的子数组
找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组[numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0。输入:target = 7, nums = [2,3,1,2,4,3]给定一个含有 n 个正整数的数组和一个正整数 target。输入:target = 4, nums = [1,4,4]解释:子数组 [4,3] 是该条件下的长度最小的子数组。
2024-03-24 20:05:07
239
1
原创 从输入URL到页面渲染的整个过程
5.浏览器接收到服务器的响应后,开始下载响应中包含的资源文件,并按照资源类型进行解析,构建DOM树和CSSOM树。4.服务器收到请求以后,会解析请求并查找对应的资源,如果资源存在,并且可以访问,服务器端会返回一个http响应,包括了状态码、响应头、响应体。2.浏览器使用获取到的目标服务器的IP地址,通过TCP/IP协议与服务器建立连接,浏览器会进行三次握手,确保连接建立正常。3.浏览器会发送HTTP请求到服务器,请求中包含用户想要访问的资源的信息,比如页面文件、图片、样式表等等。
2023-07-16 10:08:34
349
原创 18.四数之和
给你一个由n个整数组成的数组nums,和一个目标值target。请你找出并返回满足下述全部条件且的四元组bc和d你可以按返回答案。
2023-07-15 10:37:02
382
原创 979.在二叉树中分配硬币
给定一个有N个结点的二叉树的根结点root,树中的每个结点上都对应有node.val枚硬币,并且总共有N枚硬币。在一次移动中,我们可以选择两个相邻的结点,然后将一枚硬币从其中一个结点移动到另一个结点。(移动可以是从父结点到子结点,或者从子结点移动到父结点。返回使每个结点上只有一枚硬币所需的移动次数。[3,0,3]2从树的根节点开始,我们将一枚硬币移到它的左子节点上,一枚硬币移到它的右子节点上。[0,3,0]3从根结点的左子结点开始,我们将两枚硬币移到根结点上 [移动两次]。
2023-07-14 10:41:27
152
原创 931.下降路径最小和
给你一个n x n的整数数组matrix,请你找出并返回通过matrix的的。可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列(即位于正下方或者沿对角线向左或者向右的第一个元素)。具体来说,位置(row, col)的下一个元素应当是或者。13如图所示,为和最小的两条下降路径-59如图所示,为和最小的下降路径。
2023-07-13 10:57:18
151
原创 1911.最大子序列交替和
一个下标从开始的数组的定义为下标处元素之减去下标处元素之。[4,2,5,3]给你一个数组nums,请你返回nums中任意子序列的(子序列的下标从 0 开始编号)。一个数组的是从原数组中删除一些元素后(也可能一个也不删除)剩余元素不改变顺序组成的数组。比方说,[2,7,4]是的一个子序列(加粗元素),但是[2,4,2]不是。7最优子序列为 [4,2,5] ,交替和为 (4 + 5) - 2 = 7。8最优子序列为 [8] ,交替和为 8。10。
2023-07-11 10:59:53
203
原创 最接近的三数之和
首先将数组按照升序排序,然后使用双指针,一个指向数组的起点位置,一个指向数组的末尾位置,同时使用一个变量记录当前最接近目标值的三个数的和。然后在指针移动的过程中,不断更新最接近目标值的三个数的和,直到双指针重合为止。与 target 最接近的和是 2 (-1 + 2 + 1 = 2)。中选出三个整数,使它们的和与。假定每组输入只存在恰好一个解。
2023-07-10 10:51:48
264
原创 15.三数之和
先对数组进行排序,然后枚举其中的一个数nums[i],然后问题就变成了再剩下的数中找到两个数的和等于-nums[i]。为了避免重复元素,需要在枚举的时候跳过所有重复元素。**输入:**nums = [-1,0,1,2,-1,-4]**输入:**nums = [0,1,1]**输入:**nums = [0,0,0]唯一可能的三元组和不为 0。答案中不可以包含重复的三元组。唯一可能的三元组和为 0。,判断是否存在三元组。
2023-07-09 11:07:39
110
原创 CentOS7下安装设置MySQL
1.1下载安装MySQL官方yum源配置1.2yum下安装MySQL1.3安装MySQL服务器可能会出现公钥尚未安装的错误解决办法再次安装。
2023-07-07 20:21:45
408
原创 LeetCode 202.快乐数
编写一个算法来判断一个数 n 是不是快乐数。定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1,那么这个数就是快乐数。如果 n 是 快乐数 就返回 true;不是,则返回 false。
2023-07-07 11:20:47
222
原创 浏览器解析HTML原理
用户输入的网址后,通过DNS解析后得到服务器的地址,然后浏览器向服务器发起请求,经过TCP三次握手确认连接后,服务器将需要的代码发回给浏览器。如果输入的不是网址而是一串关键词,浏览器就会知道你是要搜索,然后会使用默认的搜索引擎来查询。浏览器安全校验通过和接收到代码完毕后,浏览器通过IPC管道将数据以次传递给渲染进程进入渲染进程。然后渲染器进程将会对HTML代码进行解析。
2022-10-11 18:23:03
1473
原创 使用Wireshark抓包三次握手四次挥手
服务端说:“好,但我还有要传送的数据(不断给客户端发送数据,此时客户端已经不能向服务端发送数据了,只能接受服务端发送给客户端的数据)”数据传输后,通信的双方都可以释放连接,客户端向服务端发送释放连接请求,并停止再发送数据,等待对方确认。服务端向客户端发送fin报文,表示释放连接,用来关闭服务端向客户端的数据传送。客户端收到服务端请求释放连接报文,发送确认收到信息,完成四次挥手。客户端收到报文段后,向服务器给出确认,通知上层应用连接已建立。服务器收到请求报文段,标志位ACK=1,表示同意,发回确认。
2022-10-11 18:12:39
5593
原创 0-1背包问题
有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式:第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。0<N,V≤1000接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。0<vi,wi≤1000输出格式:输出一个整数,表示最大价值。输入样例:4 71 22 43
2022-05-22 18:18:34
359
原创 分治法求最大子数组和
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。示例1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例2:输入:nums = [1]输出:1示例3:输入:nums = [5,4,-1,7,8]输出:23int maxSubArray(int* nums, int numsSize){
2022-04-19 16:24:09
317
原创 7-4棋盘覆盖
在一个2k∗2k(k为正整数,k<=10,length=2k)个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格(其坐标为a,b,分别代表行坐标号和列坐标号),以及有四种L型骨牌(如下图)。求用若干块这种L型骨牌实现除该特殊点棋盘的全覆盖。(本题要求采用分治算法做)输入格式:输入三个数,分别是a,b,length.输出格式:输出整个棋盘。其中特殊方格填为0,然后铺棋盘的顺序为:先铺四个子棋盘交界的部分,然后递归的对每个子棋盘按照左上,右上,右下,左下的顺时针顺序铺满棋盘
2022-04-18 20:43:39
799
原创 归并排序算法
一、基本思想1、分而治之思想,将数组分成若干组,直到将每个数字分为一组。2、将若干个小数组进行合并,确保合并后的数组有序3、重复进行第二步直到合并为一个数组位置二、归并排序代码分析#include <iostream>using namespace std;void Merge(int *arry,int L,int m,int R);//将数组合并void Mergesort(int *arry,int L,int R);//归并排序int main(){ i
2022-04-10 19:21:33
987
原创 快速排序算法
一、基本思想1、选定一个中心轴(一般选取第一个数字作为中心轴),将要排序的数据分为两个部分2、将大于中心轴的数字放在中心轴的右边3、将小于中心轴的数字放在中心轴的左边4、分别对左右子序列重复前三步的操作,直至排序完成二、快速排序代码分析#include <iostream>using namespace std;void quicksort(int *arry,int L,int R);int main(){ int n; cin>>n;
2022-04-10 19:04:08
467
原创 先序和中序构造二叉树
本题目要求用先序序列和中序序列构造一棵二叉树(树中结点个数不超过10个),并输出其后序序列。输入格式:在第一行中输入元素个数。第二行中输入先序序列,用空格分隔。第三行中输入中序序列,用空格分隔。输出格式:输出此二叉树的后序序列,用空格分隔,最后也有一个空格。输入样例:510 20 30 40 5020 10 40 30 50输出样例:20 40 50 30 10代码展示:#include <iostream>using namespace std;
2022-04-03 19:41:05
4670
原创 Des加密解密C语言实现
一、Des加密算法简介 Des是Data Encryption Standard(数据加密标准)的缩写。它是由IBM公司研制的一种对称密码算法,对称性是指它使用同一个秘钥来加密和解密数据,与之相对应的RSA加密算法则是一种非对称密码算法。Des加密需要双方事先共同拟定一个秘钥,不对第三方公开。 Des还是一种分组加密算法,该算法每次处理固定长度的数据段称之为分组。典型的Des以64位为分组对数据进行加密,如果加密的数据长度不是64位,则会被0填充。二、流程简介储存表的函数密钥初始置换
2022-03-22 16:05:16
9329
2
原创 数组元素的删除
完成数组元素的移动功能:假设数组有n个元素,输入一个数x,把数组的第x个位置的元素删除了,后面的元素依次前进一个位置。 重复若干次这样的删除,得到最后的结果。输入格式:第一行包括一个整数n(1<=n<=100),表示数组元素的个数。 第二行输入n个数组元素,均为整数,用空格隔开。 第三行输入一个数k(1<=k<=100),表示要进行k次删除。 接下来k行,每行一个数x,表示要删除第x个元素。输出格式:输出经过k次删除后的数组,每两个元素之间用空格隔开。输入样例:10
2021-04-15 20:25:33
1963
原创 数列特征
问题描述 给出n个数,找出这n个数的最大值,最小值,和。输入格式:第一行为整数n,表示数的个数。 第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。输出格式:输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。输入样例:51 3 -2 4 5输出样例:5-211import java.util.Scanner;public class Main{ public static void main(String[
2021-04-11 20:41:45
84
原创 结伴同行去秋游
可以去秋游啦!同学们别提多高兴了!老师说,单独行动有点危险,那么我们还是结伴同行吧。结伴的规则是这样的:排在最前的一个人和排在最后的那个人结成同伴,排在第2个的与排在倒数第2个的结成同伴…依次类推,2个一组成同伴。好,请马上排出来吧!老师语音一落,同学们“唰唰唰”很快结伴好了,准备出发喽!输入格式:第一行是一个整数n,表明n个同学。(2<=n<=50,n为偶数) 。 第二行n个整数表明n个同学的学号,学号之间有一个空格。输出格式:共n/2行,每行二个整数,表明结伴同学的学号,两个学号之间
2021-03-30 21:58:05
1147
原创 螺旋方阵
本题要求从右下角开始按螺旋型递减打印数字方阵。输入格式:输入为一个正整数n (1=<n<=20)。输出格式:螺旋型递减顺序输出n行n列的数字方阵,每个数字占4个宽度,左对齐。输入样例:4输出样例:10 9 8 711 2 1 612 3 4 513 14 15 16#include <stdio.h>int main(){ int n; int i=0,j,c,k,m,z,x; scanf
2021-02-27 15:48:17
310
原创 快手狂人
快手是比较火的一款短视频app软件,里面每天都会更新一些有趣的视频,因此它的出现成为了我们打发时间的一种方式,但是有些同学进去看到有趣的视频就会停不下来,导致沉迷于此。当你进入和退出快手app的时候它的后台都有一个记录数据,即进入快手的时间和退出的时间。现在你的班主任想知道你们一天中刷快手的时间最长的同学是谁,于是就向快手平台要了你们班的后台记录数据,但是这些数据都是零散的,请你帮助你的班主任找出你们班的快手狂人。 定义:快手狂人为一天中刷视频时间最长的同学。输入格式:在第一行给两个整数n和m(1≤n≤
2021-02-27 15:43:01
1168
原创 谁获奖了
ABCDEF六人参赛,已知的信息是:1)A,B中至少一个得奖;2)A,C,D中至少二个得奖;2)B,F得奖情况相同;4)C,E得奖情况相同 ;5)若E未得,则F也不会得;6)C,D,E,F中至多三人得奖。编写程序,对输入的获奖方案(用字符串表示,如B,C获奖可能表示为"BC",也可能是"C,B"……总之必然为出现字母B和C,”ABCDEF“外的字符可以无视)进行处理,看是否会满足上述全部条件(输出0或1表示状态)。输入格式:输入代表获奖者的字符串,程序要求对输入形式的多样性兼容,如表示ACE三个获奖的字
2021-02-27 15:36:00
285
原创 压岁钱
小C父母本来想多生几个娃,奈何国家计划生育,结果只生小C一个。羊年要到了, 小C给各位长辈拜年,小C很孝顺,给爷爷、奶奶、外公、外婆….磕头(多孝顺),为表心意,长辈都会给小C红包。小C已上幼儿园,100以内加法没问题,但是现在的压岁钱总和可能超过100元。小C想了一个办法,拿到压岁钱后, 如果钱多于100元,就不断的数出100元给妈妈,作为以后上学买笔买书费用(多好学), 只剩下小于100元留给自己作为与其他小朋友的交际费。现在收到n位长辈的红包,输出小C交妈妈后的剩余压岁钱。输入格式:多组测试数据,
2021-02-27 15:31:37
505
原创 凯撒密码
为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,用凯撒密码将其加密后输出。恺撒密码是一种简单的替换加密技术,将明文中的所有字母都在字母表上偏移offset位后被替换成密文,当offset大于零时,表示向后偏移;当offset小于零时,表示向前偏移。输入格式:输入第一行给出一个以回车结束的非空字符串(少于80个字符);第二行输入一个整数offset。输出格式:输出加密后的结果字符串。输入样例1:
2021-02-27 15:27:40
397
原创 找完数
所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。输入格式:输入在一行中给出2个正整数m和n(1<m≤n≤10000),中间以空格分隔。输出格式:逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + … + 因子k”,其中完数和因子均按递增顺序给出。若区间内没有完数,则输出“None”。输入样例:2 30输出样例:6 = 1 +
2021-02-27 15:19:43
281
原创 求纬度线上任意两点的球面距离
已知地球的平均半径为6371.393千米,并已知位于同一纬度上两点的纬度、经度值(单位为度),编写程序计算这两点之间的弦长和球面距离分别是多少千米。要求所有的实数使用double类型,圆周率的近似值取3.141592653589793。 提示:可以用正负来区分北纬与南纬、东经与西经。即北纬为正,南纬为负;东经为正,西经为负。输入格式:在第一行中输入一个位于区间[-90,90]内代表纬度的实数;在第二行中输入两个位于区间[-180,180]内代表经度的实数,以空格分隔。输出格式:输出弦长和球面距离的值
2021-02-27 15:12:22
1120
原创 冲锋衣选货及折扣
已知某会某冲锋衣电商准备在双12推出优惠活动,计划如下:货号 单价DG110013 812DG110018 879DG110004 735DG120002 649满899减50,满599减30。 现要求,输入完整的货号和数量,输出总价(保留两位小数)。 如果货号输入有误,则输出Error!输入格式:DG110013,2输出格式:1574.00输入样例:DG120002,1输出样例:619.00#include <stdio.h>#include
2021-02-27 15:04:30
1305
原创 前天是哪天
给定公元1000年到公元3000年之间的某一天,请你给出该天的前天是哪一天。输入格式:输入在一个日期,格式如"yyyy-mm-dd",题目保证所有输入日期为合法日期。输出格式:对每一组输入,在一行中输出日期,格式如"yyyy-mm-dd"。输入样例:2020-3-15输出样例:2020-3-13#include <stdio.h>int main(){ int a,b,c; int x[13]= {0,31,28,31,30,31,30,31,31,
2021-02-26 21:38:38
2042
1
原创 鸡兔几何
输入两个整数代表鸡和兔的总只数与总脚数,编写程序,输出鸡和兔各多少只(输入和输出时,按先鸡后免的顺序,中间以空格分隔)。输入格式:两个不超过100000的非负整数,以空格分隔。输出格式:两个整数,以空格分隔,若输入数据无解,输出:-1 -1(表示无可能)。输入样例1:10 28输出样例1:6 4输入样例2:18 35输出样例2:-1 -1#include <stdio.h>#include <math.h>int main(){
2021-02-26 21:34:55
3260
原创 统计 十位 比 个位 大的数
给定两个正整数,m和n,m< n,请计算在 m和n之间(包括m和n)所有符合以下条件的数的和 条件:十位数比个位数大输入格式:输入两个正整数m和n,数据保证m<n,10<= m < n <=1000。输出格式:输出m和n之间满足条件的所有数的和,输出数值后需要输出回车换行。输入样例:150 160输出样例:920#include <stdio.h>int main(){ int m,n,sum=0,i,a,b,c; sc
2021-02-26 21:29:56
2646
1
原创 平面中点与圆的位置关系
在平面直角坐标系中,给定一个圆的圆心坐标Ox,Oy以及半径R,在再给定一个点的坐标PX,Py,请判断这个点与圆的位置关系。输入格式:先输入三个正整数,分别代表圆心的横纵坐标x,Oy和半径R。 在输入两个正整数,分别代表给定点的横纵坐标PX,Py。 输入的所有数据均不超过100输出格式:如果点再圆内,输出IN, 如果点再圆上,输出ON, 如果点再圆外,输出OUT, 输出答案后需要输出回车换行。输入样例:1 1 15 5输出样例:OUT#include <stdio.h>
2021-02-26 21:24:03
788
原创 【分支】【--时制转换A--】
现在输入一个24小时制的时间,请编程将其转换为12小时制时间格式,输出转换后的时间,原来时间如果是上午,那么需要在转换时间之后输出空格和AM,原来时间如果是下午,在转换时间之后输出空格和PM,输出具体参考样例。注:在24小时制中 , [00:0012:00]认为是上午,[12:0123:59]认为是下午。提示:输出时间:分钟的格式请使用 printf("%02d:%02d AM或PM"),%02d表示占2个数字宽度,数不够2位的前面补0 。 输出前面带0 的数据依然可以使用scanf("%d"),例如输
2021-02-26 21:18:32
587
原创 最佳情侣身高差
专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。输入格式:输入第一行给出正整数N(≤10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 [1.0, 3.0] 之间的实数。输出格式:对每一个查询,在一行中为该用户
2021-02-26 21:12:49
344
原创 大笨钟
微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟却是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会是“当当当当当当当当当当当当”。在午夜00:00到中午12:00期间(端点时间包括在内),笨钟是不敲的。下面就请你写个程序,根据当前时间替
2021-02-26 20:59:31
68
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人