自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(131)
  • 收藏
  • 关注

原创 力扣 7整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。class Solution {public: int reverse(int x) { long long res = 0; while(x){ res = 10*res + x%10; x /= 10; } ...

2020-02-17 13:46:13 177

原创 力扣6 Z字形变换

将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函数:st...

2020-02-17 13:22:04 173

原创 UDP与TCP

**UDP**1.基于Internet ip协议1)具有多路复用/分用2)简单的错误校验机制2.特点:会丢,非按序到达3.无连接的:1)发送方与接收方不需要握手2)每个UDP段的处理独立于其他段UDP存在的原因:1)无需建立连接(减少延迟)2)实现简单,无需维护连接状态3)头部开销小4)没用拥塞控制,应用可以更好的控制发送时间和速率UDP应用场景:主要应用在一些容...

2020-02-13 09:30:08 296

原创 HTTP略解

一、HTTP的两种连接形式1)非持久性连接每个TCP连接最多允许传输一个对象HTTP 1.0版本使用非持久性连接假定用户在浏览器输入URLwww.baidu.com/somedepartment/home.index过程如下:1°HTTP客户端向地址为www.baidu.com的服务器的HTTP服务器进程(80端口)发起TCP连接请求。2°HTTP服务器在端口80等待tcp连接,接收...

2020-02-12 20:51:41 424

转载 一看就懂DNS详解

DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住IP。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。为什么需要DNS解析域名为IP地址?首先计算机在网络上通讯时只能识别IP地址(网络通讯大部分是基于TCP/IP协议,而TCP/IP是基于IP地址的),比如我要在...

2020-02-12 19:57:36 557

原创 二叉搜索树的查找(指定、最大、最小)、插入、删除

二叉搜索树有以下性质:1.非空左子树的所有键值小于其根节点的键值2.非空右子树的所有键值大于其根节点的键值3.左、右子树都是二叉搜索树【Find查找指定元素】①查找根节点,若为空,返回NULL②非空,则节点值与查找值比较1°X > 根值,右子树中找2°X < 根值, 左子树中找3° X == 根值,返回指向此节点的指针//递归Position Find(ELeme...

2019-08-29 19:49:10 1267

原创 1-5:Two Sum、Add Two Numbers、Longest Substring Without Repeating Characters

https://leetcode.com/problems/two-sum1.Two Sum暴力枚举class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> res; for(int i =...

2019-08-29 11:14:34 95

原创 二叉树的morris、层序遍历

Morris遍历是一种时间复杂度为O(N),空间复杂度为O(1)的遍历方式可以利用morris遍历实现二叉树的先序、中序、后序遍历流程说明:当前节点为cur①cur无左子树, cur = cur.right;②cur有右子树,找到左子树上最右节点mostright1°if mostright.right == null,mostright.right = cur, cur = cur...

2019-08-29 11:04:22 186

原创 图的广度、深度优先搜索

【广度】①准备一个队列,一个hash表②选中一个初始节点压入队列,并在hash表中标记③进入while循环,条件是队列不为空1°弹出一个元素并打印2°把所有弹出元素的邻接点(没有在hash中标记过的)压入队列④循环结束,打印完成【深度】①准备一个栈,一个hash表②选中一个元素push进栈,并在hash中标记,并打印③while循环,条件是栈不为空弹出一个元素1°若这个元素...

2019-08-27 18:37:49 83

原创 二叉树的先序、中序、后序递归非递归实现

【先序】递归实现:void PreOrderTraversal(BinTree BT){ if(BT){ cout << BT->Data; PreOrderTraversal(BT->Left); PreOrderTraversal(BT->Right); }}非递归①建立一个栈,并把根节点放入栈中②进入循环,循环条件是栈不为空1°新...

2019-08-25 17:30:13 112

原创 如何实现一个特殊栈?(可以返回当前栈元素最小值)

问题:实现一个特殊栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。要求:①pop、push、getMin操作的时间复杂度都是O(1);②设计的栈类型可以使用现成的栈结构。方法1:建立俩个栈,一个栈储存数据元素,另一个栈储存当前数据栈中的最小元素(放在栈顶)。数据栈和最小栈同时动态更新。//没有运行,有错的话各位指出!class newstack{ private:...

2019-08-22 14:57:30 348

原创 如何用数组实现队列和栈?

【栈】栈的特性是先进后出。pop:把栈顶元素弹出栈push:把元素压入栈peek:得到栈顶元素的值/*首先建立一个N大小的数组arr[N],表示这个栈最多有N个元素用size表示栈中元素的个数,初始size = 0,且表示下一个压栈元素的位置*/void push(int num){ if(size >= N ){ cout << "栈满" <&lt...

2019-08-22 13:14:59 214

原创 为什么快速排序是不稳定的?

举个例子待排数组 6 9 9 10 11我们选择第一个9作为主元(过程是随机的),若把小于等于放在主元的左边,则第二个9就跑到第一个9左面了,从而导致不稳定主元的选择是随机的,导致不稳定的原因在于我们无法保证每次都是稳定的,所以它是不稳定的。...

2019-08-21 20:31:51 5077 2

原创 十大基础排序算法

一、冒泡排序时间复杂度:O(n^2)额外空间复杂度:O(1)void swap(int arr[], int a, int b){ int tmp = a; arr[a] = arr[b]; arr[b] = tmp;}//首先判断数组是否需要排序if(arr.size() < 2 || arr == null) return;for(int end = arr.siz...

2019-08-20 18:00:59 128

原创 PAT乙级1095 解码PAT准考证 (25 分)

https://pintia.cn/problem-sets/994805260223102976/problems/1071786104348536832借鉴的柳神思路https://blog.csdn.net/liuchuo/article/details/84972869#include <iostream>#include <vector>#include...

2019-07-24 16:03:56 190

原创 PAT乙级1094 谷歌的招聘 (20 分)

https://pintia.cn/problem-sets/994805260223102976/problems/1071785997033074688#include <iostream>#include <string>#include <cmath>using namespace std;bool isp(int num){ for(int...

2019-07-24 14:12:36 175

原创 PAT乙级1093 字符串A+B (20 分)

https://pintia.cn/problem-sets/994805260223102976/problems/1071785884776722432#include <iostream>#include <string>using namespace std;int main(){ string A, B; int h[300] = {0}; getl...

2019-07-24 12:34:04 71

原创 PAT乙级1092 最好吃的月饼 (20 分)

https://pintia.cn/problem-sets/994805260223102976/problems/1071785779399028736#include <iostream>using namespace std;int main(){ int max = 0, N, M, num[1001] = {0}, cnt = 0; cin >> N ...

2019-07-24 12:26:19 150

原创 PAT乙级1091 N-自守数 (15 分)

https://pintia.cn/problem-sets/994805260223102976/problems/1071785664454127616#include <iostream>#include <cmath>using namespace std;int main(){ int K, N, M, cnt = 0, tmpk; cin >&...

2019-07-24 09:32:14 98

原创 PAT乙级1090 危险品装箱 (25 分)思路

https://pintia.cn/problem-sets/994805260223102976/problems/1038429484026175488首选建立一个二维数组V(很大,以物品编号为一维下标),然后把每个不相容的物品放进去 比如按例子来说:6 320001 2000220003 2000420005 2000620003 2000120005 2000420004 ...

2019-07-24 09:09:43 237

原创 PAT乙级1088 三人行 (20 分)

https://pintia.cn/problem-sets/994805260223102976/problems/1038429286185074688注意丙是double类型#include <iostream>#include <cmath>using namespace std;void f(int a, double b){ if(a > b)...

2019-07-24 09:03:30 126

原创 PAT乙级1087 有多少不同的值 (20 分) 注意数组大小

https://pintia.cn/problem-sets/994805260223102976/problems/1038429191091781632注意数组大小#include <iostream>using namespace std;int main(){ int N, n, cnt = 0, h[12005] = {0}; cin >> N; f...

2019-07-23 16:25:40 84

原创 PAT乙级1086 就不告诉你 (15 分)测试点

https://pintia.cn/problem-sets/994805260223102976/problems/1038429065476579328测试用例10 101#include <iostream>#include <string>using namespace std;int main(){ int a, b, cnt = 0; cin ...

2019-07-23 16:14:37 228

原创 PAT乙级1085 PAT单位排行 (25 分)

https://pintia.cn/problem-sets/994805260223102976/problems/994805260353126400一个学校的结构体数组,下标从1开始分配读入数据时,用map检测学校是否出现过,如果没有出现过,就分配新的下标,否则就用以前的下标#include <iostream>#include <map>#include ...

2019-07-23 15:49:34 134

原创 PAT乙级1084 外观数列 (20 分)

https://pintia.cn/problem-sets/994805260223102976/problems/994805260583813120#include <iostream>#include <string>using namespace std;int main(){ string s, tmp = ""; int n; cin >&...

2019-07-23 14:37:22 124

原创 PAT乙级1083 是否存在相等的差 (20 分)

https://pintia.cn/problem-sets/994805260223102976/problems/9948052607809454080也是差值,否则12测试点不过#include <iostream>#include <cmath> using namespace std;int main(){ int n, num, cha[10002]...

2019-07-23 14:14:58 132

原创 PAT乙级1082 射击比赛 (20 分)

https://pintia.cn/problem-sets/994805260223102976/problems/994805260990660608#include <iostream>#include <algorithm>using namespace std;struct node{ string name; int x;};bool cmp(n...

2019-07-23 13:16:38 138

原创 PAT乙级1081 检查密码 (15 分)测试点2

https://pintia.cn/problem-sets/994805260223102976/problems/994805261217153024日常坑就是密码里有空格测试点2#include <iostream>#include <string>using namespace std;int check(string s){ int flag1 = ...

2019-07-23 12:43:11 680 1

原创 PAT乙级1080 MOOC期终成绩 (25 分)测试点3

https://pintia.cn/problem-sets/994805260223102976/problems/994805261493977088测试点3是指总分是59.5也算合格,,是不是很坑??题不难 用map 很麻烦#include <iostream>#include <algorithm>#include <string>#incl...

2019-07-23 11:37:05 1011

原创 PAT乙级1079 延迟的回文数 (20 分)

https://pintia.cn/problem-sets/994805260223102976/problems/994805261754023936首先确定给定的整数是不是回文串 如果是就不需要输出A+B=C了#include <iostream>#include <algorithm>#include <string>using namespa...

2019-07-23 11:00:49 110

原创 PAT乙级1078 字符串压缩与解压 (20 分)

https://pintia.cn/problem-sets/994805260223102976/problems/994805262018265088#include <iostream>#include <string>using namespace std;int main(){ char order, tmpc; string s; cin >...

2019-07-23 10:01:41 116

原创 PAT乙级1077 互评成绩计算 (20 分)

https://pintia.cn/problem-sets/994805260223102976/problems/994805262303477760#include <iostream>#include <algorithm>using namespace std;int main(){ int N, M; cin >> N >> ...

2019-07-22 19:16:15 98

原创 PAT乙级1076 Wifi密码 (15 分)

https://pintia.cn/problem-sets/994805260223102976/problems/994805262622244864#include <iostream>using namespace std;int main(){ string s; while(cin >> s) if(s.size()==3 && s...

2019-07-22 18:33:47 101

原创 PAT乙级1075 链表元素分类 (25 分)思路

https://pintia.cn/problem-sets/994805260223102976/problems/9948052629535948801.先用个数组把元素装起来2.从单链表头开始 遍历元素 分成3组1)负值2)小于K3)大于K3.然后三个组顺序遍历输出就完事了#include <iostream>#include <vector>usi...

2019-07-22 18:06:05 220

原创 PAT乙级1073 多选题常见计分法 (20 分)(这道题太恶心了,恶心啊)

https://pintia.cn/problem-sets/994805260223102976/problems/994805263624683520全是坑 题干太长了#include <iostream>#include <map>using namespace std;struct test { double maxscore = 0.0, halfsc...

2019-07-22 17:18:15 385

原创 PAT乙级1074 宇宙无敌加法器 (20 分)测试点分析

https://pintia.cn/problem-sets/994805260223102976/problems/994805263297527808这道题做的真是稀碎…主要坑点:进制标中“d”和“0”表示10进制结果为0结果的最后一个carry(进位)不等于0时#include <iostream>#include <algorithm>using n...

2019-07-22 14:16:26 632

原创 PAT乙级1072 开学寄语 (20 分)

https://pintia.cn/problem-sets/994805260223102976/problems/994805263964422144#include <iostream>using namespace std;int main(){ int N, M, num[10000] = {0}, cnt1 = 0, cnt2 = 0; cin >> ...

2019-07-22 10:52:37 66

原创 PAT乙级1071 小赌怡情 (15 分)

https://pintia.cn/problem-sets/994805260223102976/problems/994805264312549376#include <iostream>using namespace std;int main(){ int n1, b, t, n2, T, K; cin >> T >> K; for(int i...

2019-07-22 10:34:07 136

原创 PAT乙级1070 结绳 (25 分)

https://pintia.cn/problem-sets/994805260223102976/problems/994805264706813952脑筋急转弯??智商测试吗…肯定是越长的绳子折半次数越少 最后越长呗…#include <iostream>#include <algorithm>using namespace std;int main(){...

2019-07-22 10:12:45 120

原创 PAT乙级1069 微博转发抽奖 (20 分)

https://pintia.cn/problem-sets/994805260223102976/problems/994805265159798784#include <iostream>#include <map>using namespace std;int main(){ int M, N, S, cnt = 0; string s[1002]; m...

2019-07-22 10:00:37 94

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除