自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蔡尼玛的博客

几个字符飘啊飘~~

  • 博客(74)
  • 资源 (3)
  • 收藏
  • 关注

原创 JS的Promise语法使微信小程序异步操作同步化(让云数据库先查完再执行下面逻辑代码)

小程序开发,前端,JavaScript,异步执行同步化,查表

2022-06-26 19:24:15 1899 2

原创 华为od 研发岗一手笔试题

华为od热乎的机考真题,研发岗

2021-12-06 00:49:18 6494 6

原创 《剑指offer》JZ22 链表中倒数最后k个结点 JZ18 删除链表的节点

今天是12月的第一天,刷了两个题JZ22 链表中倒数最后k个结点题目链接解法1 队列法(初级)初级是因为时间复杂度O(n) 空间复杂度O(n)思想简单:直接用数组把每一个节点存起来,输出第n-k个class Solution {public: ListNode* FindKthToTail(ListNode* pHead, int k) { vector<ListNode*> res; while(pHead){ r

2021-12-02 00:36:59 1373

原创 《剑指offer》JZ23 链表中环的入口结点 两种方法解析

今天11.30,现在已经进入12月了,呜呜呜加油JZ23 链表中环的入口结点题目链接大概就是题目会给一个链表,求环(如果尾巴的next指向前面的节点就成环了)主要有两种解法1.哈希法意思就是遍历这个链表,一步一步走,如果没有成环的话没次都会走到不同的结点。用一个容器把走过的结点都存起来,这时候要是走到一个以前走过的结点了,那必然就是又绕到前面去,成了环。so,在C++的STL容器里面只有set和map有find方法(图省事),我就直接用了set。上代码:class Solution {p

2021-12-01 00:31:28 605

原创 《剑指offer》JZ52 两个链表的第一个公共结点

昨天没刷题,今天也只刷了一个。希望继续坚持下去!11.28今天的题目是JZ52 两个链表的第一个公共结点题目链接题目的大义是给两个链表,要求出第一个公共节点。我为啥把“第一个公共节点标红呢”,因为是我第一次提交的时候没想明白,把第一个公共节点想成了第一个相等的点。然后就会这样:大概就是题目要求的并不是第一个值相等的那个节点,而是要求某个节点,这个节点之后这两个串相等直到结束。解题思路:(我的思路比较简单也比较暴力) 时间复杂度O(nm)相当于两个for遍历这两个串,拿第一个串中间的每个

2021-11-29 00:39:37 354

原创 《剑指offer》JZ6 从尾到头打印链表、JZ24 反转链表、JZ25 合并两个排序的链表

很久没更新了,最近新开了剑指offer的坑希望自己能刷下去。11.26第一题 JZ24 从尾到头打印链表题目链接题目大概是给了一个链表的头指针,要写一个函数把整个链表的元素获取到并且返回一个倒序排列的vector。代码解析:/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) {

2021-11-26 22:44:00 661

原创 PAT 甲级 A1136 A Delayed Palindrome (20 分)

题目传送门签到题给搞了半天,一开始我没看到数据范围要到1000。后面看到了这个之后根本就开始改了,longlong会爆炸数据范围只能得18分,最后一个测试点过不去。于是呢就放弃用longlong,自己写了一个高精度的加法(用string),代码有点长。愿意看的同学就看一看吧。//// Created by 曾仕邦 on 2021/9/10.//#include "bits/stdc++.h"using namespace std;typedef long long ll;bool che

2021-09-10 13:08:38 108

原创 PAT 甲级 A1108 Finding Average (20 分)

题目传送门气抖冷。。一个20分的题目卡了我半个多小时才搞出来。这是一道很有PAT味道的题目,小坑多得很呐~坑1 :最后一个测试点中有-1000或者1000的测试,记得这个是***左闭右闭区间***!坑2 :倒数第二个测试点中有关于单个数据平均值的情况,如果只有一个有效数据记得输出“number”而不是“numbers”这是我的代码:(能AC 但完全是自己硬造的,没必要,建议看下文的精简版)//// Created by 曾仕邦 on 2021/8/21.//#include "bits/s

2021-08-21 18:04:56 242

原创 “~i“在C语言的for循环中是什么意思

最近看y总的视频,在他的代码里经常出现~1,比如:for (int i = h[u]; ~i; i=ne[i]) { dfs(e[i],depth+1); }然后我就不解了,去百度了一通。百度说"~"在C语言里面是二进制取反的意思。我还是有点不解,然后自己写代码测试了一下,得到以下结果:~-1 = 0~0 = -1~1 = -2~2 = -3~15 = -16有点补码内味了,对于十进制的数来说就是先价格负号,然后-1呗。那么上面那个for里面的~i就等价于i !

2021-08-08 19:43:07 4220 12

原创 PAT 甲级 A1074 Reversing Linked List (25 分)

题目传送门我自己搞了几个小时搞出来的23分代码:#include "bits/stdc++.h"using namespace std;struct node{ int Address,Data,Next;};node origin[100100],ans[100100];void revers(int begin,int K){ for (int i = begin; i < begin+K/2; ++i) { swap(ans[i],ans[2*beg

2021-08-03 17:24:40 93

原创 八大排序时间复杂度空间复杂度稳定性分析表

不想说话,看图:

2021-07-24 12:32:28 170

原创 PAT 甲级 1023 Have Fun with Numbers (20 分) C++大数

题目传送门昨天有个大佬把java甩我脸上,告诉我说这道题C++麻烦死了,又没有大数。一开始我还以为真的没有,直到acm群里一个大佬说C++有大数啊,是__int128。于是乎,我今天就用把C++的大数ac了这个题~跟大家分享://// Created by 曾仕邦 on 2021/7/12.//#include "bits/stdc++.h"using namespace std;int main(){ __int128 a =0,b; string s;cin>>

2021-07-14 21:06:12 117

原创 PAT 甲级 A1010 Radix (25 分)

题目传送门这个题用二分做,我自己写的二分呢太菜了,只能拿到19分,不放出来丢人了。后面看了yxc的代码,美妙绝伦哈。慢慢来拜读一下。#include "bits/stdc++.h"using namespace std;typedef long long ll;int get(char c){ if (c<='9') return c-'0'; return c-'a'+10;}ll convert(string a,ll radix){ ll res=0;

2021-07-08 17:17:26 113

原创 PAT 甲级 A1038 Recover the Smallest Number (30 分)

题目传送门本来很久没写博客了,今天刷这道题真的气死我了。。。题目很简单,题意:给出若干可能有前导0的数字串,将他们按某个顺序拼接,使生成的数最小。一开始我写了好半天写出来以下代码:#include "bits/stdc++.h"using namespace std;bool cmp(string a, string b){ int index =0; char fir; bool flag = false; while (index<a.length()&am

2021-07-07 18:12:58 71

原创 【c++】substr的用法

最近会陆陆续续把各种stl的各种方法总结起来,因为真的能大大的提高刷题效率。substr是对于c++的string来说的。一共有两种用法:例如string s = “0123456789”s.substr(3);//从第三位开始到最后一位"3456789"(从第0位开始,下同)s.substr(3,5);//从第三位开始截取五位"34567"这样可以形成一套组合操作,例如s要删除p子串。其实并不用调用删除的方法,可以直接int k = s.find(p);s = s.substr(0

2021-06-28 11:09:59 413

原创 第十二届蓝桥杯(2021)国赛 C++ B组 第二题 纯质数 暴力欧拉埃氏详解

大家先看题目试题 B:纯质数本题总分:5分【问题描述】如果一个正整数只有1和它本身两个约数,则称为一个质数(又称素数)。前几个质数是:2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37,…如果一个质数的所有十进制数位都是质数,我们称它为纯质数。例如:2,3, 5, 7, 23, 37都是纯质数,而11, 13, 17, 19, 29, 31不是纯质数。当然1, 4, 35也不是纯质数。请问,在1到20210605中,有多少个纯质数?【答案提交】这是一道结果填

2021-06-07 16:19:10 2760 17

原创 python一行代码生成唯一标识码

代码如下import uuiduid = str(uuid.uuid4())print(uid)效果如下:c32c6fbf-88d3-472e-ab19-615cc5c6db5a这个是python自带的生成唯一编码的一个工具,挺好用的。

2021-04-26 23:34:47 595

原创 天梯赛L01刷题经验总结(全干货) C++篇 解决少许样例不过

OJ初级经验 c++篇任何题都适用的跟数学有关的素数类指数类阶乘、排列组合类求公因子类(gcd)分数的加减类字符串读取类基础版(cin scanf两大流派)进阶版复杂版天梯赛L1一共有64个题,前几天爆肝完了,特别适合初级的OJ选手,有难题也有很容易的题,以下为个人总结的一些小经验与技巧。(尤其是字符串的处理)任何题都适用的头文件用#include<bits/stdc++.h> 可以代替几乎能用到的所有头文件,一行搞定所有。(记得加一句using namespace std;)如果题目

2021-04-04 00:00:20 865 2

原创 python生产图片验证码

做毕设的时候用到的,有注释。默认是生成5位大写的字母,如果想修改位数就修改char_length(第5行),想修改生成的是字母或者是数字可以改第12行的randint范围。参照ASCIIfrom PIL import Image, ImageDraw, ImageFont, ImageFilterimport randomdef check_code(width=120, height=30, char_length=5, font_file='Monaco.ttf', font_size=28

2021-03-23 12:03:56 147

原创 macOS 打开redis服务器

最近因为做毕设,需要用到redis数据库。但是每次关机之后redis就要重新打开,这里跟大家分享一种今天我发现的快捷的打开方法:一般的默认路径都是usr/local/Cellar然后就可以找到redis的文件夹,进bin,最后双击redis-server就ok啦。然后就看到了熟悉的UI和6379端口~redis的可视化工具RDM我放在csdn资源分享里啦~...

2021-03-20 17:16:47 171

原创 PAT 甲级 A1053 Path of Equal Weight (30 分)

题目在此:我是题目先说一下近期反思吧。本来不准备再更新博客了的,原因是今年浙大太炸了,准备转换下目标,失去pat即失去动力更新csdn。但是翻来覆去心里还是喜欢浙大,那就考软院吧。不再浪费宝贵的前期时间来纠结目标院校了。希望自己能坚持下去…说说题目把:题意:给定一个树和每个节点的权重,求所有从根结点到叶子节点的路径,使得每条路径上的结点的权值之和等于给定的常数S。如果有多条这样的路径,则按路径的非递增的顺序输出。(这个规则有点像字符串比较,如果前面的结点都相等,一旦接下来的这个不一样,就先输出那个大

2021-03-12 22:11:16 115

原创 PAT 甲级 A1020 Tree Traversals(25 分) 给出中序后续建立原树并层次序遍历

题目在这里:我是题目今天好好反思,第24行的return root没写卡了我好几个小时。今天一天就弄懂了这一个题,来来反反写了十多次,昨晚是create函数没弄懂,22,23行卡了好久没明白是咋写的(中序前序建原树,本质上一模一样)。如果不会给出中序后序建立原树的读者可以点一下链接,这里不再赘述。这道题的本质就是考两个点给出中序后序数组建立原树二叉树层次序遍历1不懂的读者戳上面的链接,这里详细讲一下2:二叉树的层次序遍历:样例树:层次序遍历也就是从第一层开始,从左到右读取。层次序读取样

2021-03-04 19:02:36 97 1

原创 C++给出前序中序 求原二叉树

这是一个数据结构关于树的经典问题。正好今天看《算法笔记》看到了。样例树:前:ABDECF中:DBEACF书上给的代码是这样的(经过了我的微小改装,数据用的是书上的):#include<bits/stdc++.h>using namespace std;struct node{//每个节点的数据 char data; node* lchild; node* rchild;};int preL=0,preR=5,inL=0,inR=5;char in[] = {'D','

2021-03-03 22:20:04 552 1

原创 C++ STL的queue中push操作产生副本的问题

如题,使用STL的queue时,元素入队的push操作只是制造了该元素的一个副本入队,因此在入队后对原元素的修改不会影响队列中的副本,而队列中副本的修改也不会改变原元素,需要注意由此可能引入的bug(一般由结构体产生)。例如下面的这个例子:#include <cstdio>#include <queue>using namespace std;struct node{ int data;}a[10];int main(){ queue<node> q;

2021-03-02 19:08:59 761

原创 codeup 100000608 problem B 【递归入门】组合数的输出

题目在这里:我是题目题目就是输入两个数,一个n 一个r。实现类似Cnr(数学里面的排列组合,n在下面,r在上面)这里可以用到递归,在网上看到了别人AC代码如下:(稍有改动)#include <cstdio>int n, r;int num[20];void combine(int count) { if(count == r +1) { //递归出口 for(int i = 1;i <= r; i++) printf("%d ", num[i]); p

2021-03-01 20:20:47 100

原创 codeup 100000608 problem A 【递归入门】全排列

题目在这里:我是题目没多少思路,这题目放在这里想要我们用递归解决,但是我觉得并不需要弄那么复杂(不太会写递归版本),直接用algorithm里面的next_permutation偷塔算了。next_permutation()不明白的戳这里:我是链接AC代码:#include<bits/stdc++.h>using namespace std;int a[10]={1,2,3,4,5,6,7,8,9,10};int main(){ int n; scanf("%d",

2021-02-23 14:20:55 58

原创 c++ algorithm头文件下的常用函数

algorithm文件下的常用函数1.max(),min()和abs()2.swap()3.revers()4.next_permutation()5.fill()6.sort()使用algorithm头文件,需要在头文件下面加一行using namespace std;1.max(),min()和abs()max(x,y)和min(x,y)分别返回x和y中最大值和最小值,而且参数必须是两个(可以是浮点数)。如果想要返回三个数x,y,z的最大值,可以使用max(x,max(y,z))的写法。abs(

2021-02-23 14:17:30 298

原创 codeup 1918 简单计算器(《算法笔记》详细讲解)

题目在这里:我是题目思路还没来得及整理,代码有蛮长://1918-ProblemA-简单计算器/*中缀转后缀,计算后缀表达式 步骤一:中缀表达式转后缀表达式设立一个操作符栈,用以临时存放操作符,根据要求将符合要求的操作符从栈顶弹出到后缀表达式中;设立一个数组或队列,用以存放后缀表达式。从左到右扫描中缀表达式,如果遇到操作数,就把操作数加入后缀表达式中;如果遇到操作符,根据后缀表达式的特性,就将其操作符与操作符栈的栈顶操作符的优先级比较:如果高于栈顶元素的优先级,则压入操作符栈;若低于或等于

2021-02-20 11:32:38 264

原创 《算法笔记》6.5小节、7.2小节 Problem A: C语言-数字交换

怎么说,这个在《算法笔记》里面分别出现在6.5 7.2小节后面的题目里。但是完全没必要用6.5节和7.2节讲的队列(queue)来做鸭…这里直接用数组暴力做完。思路挺简单不赘述,直接上代码。#include<bits/stdc++.h>using namespace std;int main(){ int num[10]; for(int i=0;i<10;i++) scanf("%d",&num[i]); int min=0,max=0

2021-02-18 18:14:21 99

原创 PAT 甲级A1071 Speech Patterns (25 分)

题目在这里:我是题目题目大意:给一行很长的输入,求出出现频率最高的单词以及出现次数。思路:用map解决思路很简单,不赘述了直接看代码(有详细解析)代码:#include <iostream>#include <map>#include <cctype>using namespace std;int main() { string s, t; getline(cin, s); //注解1 map<string, int&g

2021-02-17 17:19:49 90

原创 c++ auto类型

auto类型可以理解为类型自动推断,直接根据右边的赋值类型推断左边的变量类型,常常在声明时用。一个很常用到的地方,各类stl容器的迭代器声明上。例如:for(map<string,int>::iterator it = mp.begin();it!=mp.end();it++)可被代替为for(auto it = mp.begin();it!=mp.end();it++)写起来看起来方便多了,但是自己用的时候要知道it是个iterator。...

2021-02-17 17:16:02 349 1

原创 c++ printf输出string的问题

今天写代码在学map,映射是string到int(char []不能作为映射key),平时习惯了printf和%s来输出字符串。但是忘记了string不能用printf输出,只能用cout<< s <<endl的形式输出,C++里面的string类型的处理最好还是用cin cout的形式来处理...

2021-02-17 16:50:00 1206 1

原创 tolower()函数

tolower()是C语言ctype.h头文件里面的一个函数如果要引用的话C语言要写#include<ctype.h>C++要写#include<cctype>作用就是:把tolower(c)中间的c转化为小写字母,c是char类型的一个字母,如果 c 有相对应的小写字母,则该函数返回 c 的小写字母,否则 c 保持不变。返回值是一个可被隐式转换为 char 类型的 int 值。不明白bits/stdc++.h的同学可以戳这里:我是链接样例:#include <b

2021-02-17 11:45:14 3449

原创 PAT A1060 Are They Equal (25 分)

需要看题目的话点这里:我是题目这题我自己没有啥好的思路,但是看了睛神的算法笔记之后还是大体理解了。题目是说,给三个数字,第一个数字是精度,第二个第三个是要比较的数。按照精度的前几位相比,如果精度位相同就打印...

2021-02-15 13:48:23 69

原创 PAT 甲级 1063 Set Similarity (25 分) set集合使用

需要看题目的点这里:我是题目这个题目有点意思,是要我们计算给出的元素集合的相同元素个数,分子是两个集合的相同元素,分母是两个集合size的和再减去相同元素个数。正好这个题在算法笔记的set后面,codeup里面只有这个一个题,对应到pat里面是甲组的A1063。那好办,就用set。思路:第一步把题目给出来的元素存起来呗。直接依次读取之后insert到set里面,直接滤掉了单个集合内自身重复的元素。用迭代器遍历要对比的集合,对比两个集合遍历第一个就好了。遍历依次取出元素之后,用count函数看第二

2021-02-08 16:58:08 138 1

原创 #include<bits/stdc++.h>介绍

有时候我们会在别人的代码里面会见到#include<bits/stdc++.h>这样一个头文件,那这个是什么意思呢?其实这个是一个万能头文件,相当于以下的代码#include <iostream> #include <cstdio> #include <fstream> #include <algorithm> #include <cmath> #include <deque> #include &lt

2021-02-06 11:29:55 7500 1

原创 pat 甲级 A1047 Student List for Course (25 分)(string在vector存取)

题目传送门:我是题目题目的大意是:先给出一行m和n,分别代表学生数和课程数,接下来有m行,每行一次是:学生姓名,学生选课数,后面的数字是课程编号。需要依次输出每个课程的编号,选这个课的学生数 以及选这个课的学生姓名。学习之处:这个题目跟上面那个题目差不多,但是我现在学会了string如何存在vector里面。这个解法特别有意思,代码量特别少,待我细细道来。代码:#include<bits/stdc++.h>using namespace std;vector<string&gt

2021-02-04 17:40:30 78 1

原创 PAT A1039 Course List for Student (25)-PAT甲级真题

题目在这:题目传送门题目大概的意思呢,就是有N个学生,K门课,给出选择每门课的学生姓名,并在最后给出N个学生的姓名,要求按顺序给出每个学生的选课情况。依次输出学生的姓名,选课数,课程的代号。我自己写代码的时候准备拿每个课程对应建立vector,但是在vector存放string的时候卡住了,后来搜到了柳神的代码,仔细拜读了一下,在这篇博客里详细讲解。思路有所不同。这个题目的核心就是用vector存数据。思路概览:把学生的名字XXXX(前三个是英文,第四个是数字)转换成一个int,手写一个hash

2021-02-04 16:52:54 78

原创 求排列组合的个数(n,m)

计算C(n,m)组合数的计算,由于格式问题Cnm(排列组合的那个符号)展示不出来,只能放入截图介绍书中介绍了三种方法,第一种太简单了就是上面的定义式用代码写三个for,此处略过,记录后两种:直接给出思想和算法思想:方法一:通过递推公式计算: 图中末尾公式即算法核心可以用递归算法计算出来。代码:方法一(1):long long C(long long n,long long m){ if(m == 0 || m == n) return 1; return C(n - 1,m)

2021-02-02 19:11:23 1156

原创 macOS 用selenium 报错 Message: ‘chromedriver‘ executable needs to be in PATH.解决办法

网上对于用selenium时候报错selenium.common.exceptions.WebDriverException: Message: ‘chromedriver’ executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home的win系统解决方案一套一套,macos的解决办法少之又少。特此书此篇为macOS的同学解决问题。首先看到自己的chrome版本

2021-01-20 22:23:24 787 3

基于winPcap的udp抓包软件

基于VS2010/2013开发的MFC项目 实现了监听网卡的固定端口以及字段解析 基于WinPcap实现的本地网络Sniffer嗅探器

2022-01-06

downie4.2.dmg

macOS最新版Downie,下载资源利器

2021-03-20

Macs Fan Control-2.app.zip

Macs fan control 可以实时调控MacBook的风扇转速,特别好用而且是免费的。系统要求macOS 10.12 Sierra或者更高

2020-12-09

空空如也

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

TA关注的人

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