自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Leetcode链表5

/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */int kthToLast(struct ListNode* head, int k){ struct ListNode* slow_p=head,*p=head; while(k--){ p=p->next; } .

2021-04-06 21:07:01 165 1

原创 Leetcode链表4

/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* mergeInBetween(struct ListNode* list1, int a, int b, struct ListNode* list2){ struct ListNode *fast = list1; .

2021-02-17 20:56:47 150

原创 Leetcode链表3

解法一:遍历求总长,再循环/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* getKthFromEnd(struct ListNode *head, int k){ struct ListNode *p = head; int a = 1; while(p-.

2021-02-17 19:40:37 134

原创 Leedcode链表2

解法一:/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */int getDecimalValue(struct ListNode* head){ int number=0; struct ListNode *p=head; while(p!=NULL) { numbe.

2021-02-17 17:45:00 65

原创 Leetcode链表1

这个题的思路很巧妙,要删除这个节点,那么就将该节点的下一个节点的值拿来赋给该节点,然后使用两个next跳过下一个节点即可,这样就达到了“删除”的效果。/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */void deleteNode(struct ListNode* node) { struct ListNode.

2021-02-17 17:00:41 73

原创 数据科学复习第一章

第一章1.数据的定义(1)统计学:为了找出问题背后的规律而需要的,与问题 相关的变量的观测值,是对客观现象进行计量的结果。(2) 计算机科学:所有能输入到计算机,并被计算机程序处理 的符号总称,是用于输入电子计算机进行处理,具有一定 意义的数字、字母、符号和模拟量等的通称。(3)数据科学:在一定背景下有意义的对于现实世界中的事物定性或定量的记录。2.数据的类型3.DIKW模型4.大数据的定义5.大数据的5V模型6.大数据的5R模型7.大数据的4P医疗模型8.HACE定理..

2020-10-25 19:56:00 835

转载 分位数的简单理解

分位数理解:假设有一千名学生参加了某次考试,学生A得了75分,排名603,603/1000=60.3%学生B得了94分,排名28,28/1000=2.8%此时,A大约在60.3%的位置上,而B大约在2.8%的位置上。即在60.3%的位置上约75分, 2.8%的位置上约94分。对应四分位数的就很好解释了,分别在25%, 50%, 75%位置上的数。假设考生甲乙丙丁考试成绩分别为80,71,61,对应的名次分别为250,500,750名,那么对应的四分位数分别就为80,71,61...

2020-10-03 19:35:49 6931

原创 Python:简易学生管理系统

students = []#输出提示信息 def showInfo(): print("-"*30) print(" 学生管理系统(简易版)") print(" 1.添加学生的信息") print(" 2.删除学生的信息") print(" 3.修改学生的信息") print(" 4.查询学生的信息") print(" 5.遍历所有学生信息") print(" 6.退出系统") print("-"*30)#添加学生信息功

2020-09-28 15:02:58 181

原创 机器学习:MNIST手写识别

一. 使用全连接神经网络from keras.utils import to_categoricalfrom keras import models, layers, regularizersfrom keras.optimizers import RMSpropfrom keras.datasets import mnistimport matplotlib.pyplot as plt# 加载数据集(train_images, train_labels), (test_images, te

2020-09-21 20:53:57 177 1

原创 AcWing789. 数的范围

题目描述:给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。如果数组中不存在该元素,则返回“-1 -1”。输入格式第一行包含整数n和q,表示数组长度和询问个数。第二行包含n个整数(均在1~10000范围内),表示完整数组。接下来q行,每行包含一个整数k,表示一个询问元素。输出格式共q行,每行包含两个整数,表示所求元素的起始位置和终止位置。如果数组中不存在该元素,则返回“-1 -1”。数据范围1≤n≤100

2020-07-29 18:12:30 221

转载 二分算法

通俗理解:int BinarySearch(int a[],int size,int p){ int l=0; int r=size-1; while(l<=r){ int mid=l+(r-l)/2 if(p==a[mid]) return mid; else if(p>a[mid]) l=mid+1; else r=mid-1; }}模板:bool check(int x) {/* ... */} // 检查x是否满足某种性质// 区间[l, r]被划分

2020-07-29 18:04:06 80

原创 前缀和

定义:定义一个数组S,S[i]表示a[1]到a[i]的和那么求[l,r]区间的和,求出S[r]-S[l]即可数组S存储的就是前缀和实现:#include<iostream>using namespace std;int a[1000001];int S[1000001];int main(){ int i, j, k; int n; cin >&...

2020-07-29 15:20:03 89

原创 PAT乙级1083:是否存在相等的差

#include<iostream>#include<vector>#include<cmath>using namespace std;int main() { int n; cin >> n; vector<int>v; v.push_back(0); vector<int>v1; v1.push_back(0); for (int i = 1; i <= n; i++) { int num;.

2020-07-27 23:11:00 83

原创 PAT乙级1082:射击比赛

#include<iostream>#include<string>#include<vector>using namespace std;int main() { int n; cin >> n; string a[10001]; vector<int>di; for (int i = 0; i < n; i++) { string num; int x1, y1; int dis; cin &g.

2020-07-25 00:11:04 90

原创 PAT乙级1094:谷歌的招聘

思路:枚举每个k位的子串,转换成整数,判断是否是素数(判断素数的时候要把0和1也考虑进去)#include <iostream>#include <string>using namespace std;//判断是否为素数bool isPrime(int n) { if (n == 0 || n == 1) return false; for (int i = 2; i * i <= n; i++) if (n % i == 0) return fals..

2020-07-24 22:45:22 78

原创 PAT乙级1092:最好吃的月饼

#include<iostream>#include<vector>using namespace std;int main() { int n, m; cin >> n >> m; int num[1001] = { 0 }; while (m--) { int a[1001] = { 0 }; for (int i = 1; i <=n ; i++) { cin >> a[i]; num[i].

2020-07-23 12:12:39 77

原创 PAT乙级1091:N-自守数

string类中substr函数的应用#include <iostream>#include <string>using namespace std;int main() { int m; cin >> m; while (m--) { int k, flag = 0; cin >> k; for (int n = 1; n < 10; n++) { int end = n * k * k; string sm.

2020-07-23 10:18:20 111

原创 PAT乙级1047:编程团体赛

本题无难度,主要掌握使用scanf输入符号"-"的方法#include<iostream>using namespace std;int main(){ int N; int team, mem, score; int s[1001] = { 0 }; cin >> N; for (int i = 1; i <= N; i++) { scanf("%d-%d %d", &team, &mem, &score); s[te.

2020-07-16 18:41:24 90

原创 PAT乙级1046:划拳

#include<iostream>using namespace std;int main(){ int N; //轮数 cin >> N; int m, n, p, q; //甲喊甲划乙喊乙划 int a = 0, b = 0; //甲乙喝酒数 while (N>0) { cin >> m >> n >> p >> q; int end = m + p; if (n==end&&am.

2020-07-16 17:26:37 94

原创 计算机组成原理:ASCII码中的一些小细节

ASCII码由7位二进制代码表示,从0000000到1111111共128种编码由于字节是计算机存储的基本单元,ASCII码仍以一个字节存入一个ASCII字符,只是每个字节中多余的一位即最高位(最左边一位)在机内部保持为"0",故ASCII码总共有8位在ASCII码中,编码0-31为控制字符,用于通信控制或设备的功能控制;编码127是DEL码;编码32是空格SP;编码值32-126个字符为可印刷字符注意:0-9的ASCII码为45(011 0000)-57(011 1001),即去掉高3位,正好为二.

2020-06-02 23:03:54 1713 2

原创 计算机组成原理期末复习提纲

1.一位补码乘法(booth算法)

2020-06-02 22:46:29 723

原创 计算机组成原理:“大端” “小端” 存储方式

二者的定义及区别:大端存储:低字节放在高地址,高字节放在低地址。小端存储:高字节放在高地址,低字节放在低地址。例子: 0800H 0801H 0802H 0803H 大端方式 01H 23H 45H 67H 小端方式 67H 45H 23H 01H 注意:在阅读小端方式存储的机器代码时,要注意字节是按相反顺序显示的eg:机器代码:4004d3(十六进制地址): 01 05 64 94 0...

2020-06-02 22:42:50 2326

转载 计算机组成原理:补码一位乘法(booth算法)

问题:x*y=z;已知x,y,通过补码一位乘法得到z运算规则:和原码一位乘法不同的是,补码一位乘法的符号位是参加运算的,运算的所有的数包括得到的结果z都是补码的形式被乘数x取双符号参与运算,部分积的初值为0,数y取单符号位乘数y末尾首先要增加一个附加位0,每次讨论的是y的最后两位,但是每次移动是移动一位判断y的最后两位的时候,遵循这样的规则:为00或者为11的时候,直接右移一位为01的时候,加x的补,然后右移一位为10的时候,加-x的补,然后右移一位特例:就是最后一步不

2020-06-02 22:17:48 26590 10

原创 PAT乙级1088:三人行

本题主要体会 return 0 在程序中的作用#include<iostream>#include<string>using namespace std;int x, y, m;void Print(double t) { if (m == t) { cout << " Ping"; } else if (m > t) { ...

2020-05-01 19:08:34 136

原创 PAT乙级1087:有多少不同的值

STL-set的使用#include<iostream>#include<set>using namespace std;int main(){ int n; cin >> n; set<int>s; for (int i = 1; i <= n; i++) { s.insert(i / 2 + i / 3 + i...

2020-04-30 23:25:55 117

原创 PAT乙级1086:就不告诉你

#include<iostream>#include<string>#include<algorithm>using namespace std;int main(){ int a, b; cin >> a >> b; int end = a * b; string rev; rev = to_string(en...

2020-04-30 22:27:43 155 2

原创 求一点是否在正方形/矩形中

题目描述:给出了正方形的坐标x,y和边长a,那么正方形的对角分别为x,y和x+a,y+a,给一个坐标,问坐标是否在正方形中(边界上也算)输入:3 2 88 10输出:yes编写简单函数:bool IsinRange(int a, int Num, int b) { return a <= Num && Num <= b;}题目扩充:...

2020-04-29 23:26:02 1539 2

原创 求数组中最大值

注意:要把数组中每个数据都遍历一遍若存在负数时,初值应该选用什么**(bug)**若要顺便确定合法性时,初值选用什么#include<iostream>using namespace std;int square[55];const int minint = -100000000;bool insquare[55];int main() { int i =...

2020-04-29 22:05:59 188

原创 除2取余法

要求:给一个十进制数n,求出n二进制各个数位的和方法:除以2取余法,将值相加即可#include<iostream>using namespace std;int main() { int n, temp = 0, num = 0; cin >> n; num = n; int ans = 0; while (n>0) { ...

2020-04-29 08:44:34 7860

原创 C/C++输出n位小数的两种方式

一. C#include <stdio.h>int main(){ printf("%0.2f",2.393843434);}二. C++需要加头文件**#include< iomanip >**#include <iostream>#include <iomanip>using namespace std;int main(...

2020-04-25 22:52:16 963

原创 C++ :cmath库中的函数

1 double abs(int x) 一般对int型取绝对值后返回double型,不过也可以对double型取绝对值2 double fabs(double x) 对int型取绝对值后返回double型3 long labs(long x) 对long型取绝对值后返回long型4 double exp(double x) 以e为底指数函数,ex5 do...

2020-04-24 21:56:17 311 2

原创 PAT乙级1032:挖掘机技术哪家强

#include <iostream>#include <algorithm>using namespace std;int main() { int N = 0; cin >> N; int k = N; int sum[100005] = { 0 }; //存储各个组的总数 int a = 0, b = 0; while(N--)...

2020-04-24 20:47:26 237

转载 C++中的new

new可在对象直接分配内存空间 同malloc函数可创建对象,会调用构造函数且对象的内存空间在堆中,不使用new创建时对象的内存空间在栈中。int *a = new int[5];class A {...} //声明一个类 AA *obj = new A(); //使用 new 创建对象delete []a;delete obj;C++中类与结构体的区别:class ...

2020-04-23 18:35:09 132 2

原创 PAT乙级1031:查验身份证

#include <iostream>#include <string>using namespace std;int main() { int N = 0, sum = 0; cin >> N; int k = N; string s,num,end; int a = 0; while (N--) { cin >&...

2020-04-20 23:01:50 158

原创 PAT甲级1005:Spell It Right

和乙级1002思路基本一样#include <iostream>#include <string>using namespace std;int main(){ string str; string output[10] = { "zero","one","two","three","four","five","six","seven","eight",...

2020-04-20 20:59:47 78

原创 PAT乙级1029:旧键盘

重点:toupper()函数的使用string.find()函数的使用#include <iostream>#include <string>using namespace std;int main() { string s1, s2, end; cin >> s1 >> s2; for (int i = 0; i &...

2020-04-20 17:17:17 115

原创 C++中的tolower()函数和tuupper()函数

tolower()函数是把字符串都转化为小写字母toupper()函数是把字符串都转化为大写字母//定义两个字符串 string s1; string s2; cin>>s1>>s2; //转换大小写,可以都转换为大写,或者小写 for (int i=0;i<s1.length();i++){ s1...

2020-04-20 16:57:18 1490

转载 C++STL中的函数

头文件< algorithm >中有很多好用的函数:max(a,b); //返回a和b中的最大值,参数可以是浮点数min(a,b); //返回a和b中的最小值,参数可以是浮点数tolower(char ch); //将字符型变量ch的大写转换为小写,其他不变t...

2020-04-17 19:08:19 170

原创 List的应用:洛谷P1160队列安排

题目链接:P1160队列安排#include<iostream>#include<list>using namespace std;bool vis[100002]; //用来判断x同学是否还在队列中list<int> li; //存储学生序号list<int>::iterator pos[100002]; //迭代器int m...

2020-04-14 16:06:42 238

原创 C++STL之链表list

头文件include<list>简介list是一种序列式容器。list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,也就是list也具有链表的主要优点,即:在链表的任一位置进行元素的插入、删除操作都是快速的。list的实现大概是这样的:list的每个节点有三个域:前驱元素指针域、数据域和后继元...

2020-04-14 15:27:54 610 1

空空如也

空空如也

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

TA关注的人

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