自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 byr_filesys图床

d

2022-11-16 12:10:28 192

原创 MySQL

MySQL findinSet函数 疑问:为什么要findinset呢? 答:可以使用查询变量,[FIND_IN_SET使用方法总结](https://blog.youkuaiyun.com/c_base_jin/article/details/74358235?ops_request_misc=&request_id=&biz_id=102&utm_term=find in set&utm_medium=distribute.pc_search_result.none-task-blo

2022-04-05 15:12:16 2193

原创 Java8新特性

Java8新特性 Lambda表达式 例子: Runnable r1 = new Runnable() { @Override public void run() { System.out.println("common"); } }; r1.run(); ==================================================== Runna

2022-03-14 16:18:23 1089

原创 2021年12月16日 归并排序(循环实现)&&快速排序

归并排序(循环) 模块一Merge_pass: "length = 当前有序子列的长度" void Merge_pass( ElementType A[], ElementType TmpA[], int N, int length ) { "两两归并相邻有序子列" int i, j; "首先并不全部归并,留下一个或者两个序列" for ( i=0; i <= N-2*length; i += 2*length ) Merge( A..

2021-12-16 09:04:03 283

原创 2021年12月15日 希尔排序&&归并排序(递归实现)

希尔排序 C++码 void shellSort(vector<int>& arr) { "初始化增量为数组长度的一半,并逐步缩小增量" for (int gap = arr.size() / 2; gap > 0; gap /= 2) { "从第gap个元素,逐个对其所在组进行直接插入排序操作" for (int i = gap; i < arr.size(); i++){ ...

2021-12-16 00:00:21 315

原创 2021年12月7日 两数相加&&数组交集

思路:每位相加,大于十进位。 class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { if(!l1||!l2) return NULL; ListNode*head=new ListNode; "虚拟头结点" ListNode*p1=l1,*p2=l2,*p3=head; int key,pre=0; whil...

2021-12-08 00:14:58 163

原创 2021年12月6日 每日一题 找空格

2021-12-07 00:00:32 298

原创 2021年12月2日 快速幂

快速幂 看看大佬的写法吧。 (降低了时间复杂度) class Solution { public double myPow(double x, int n) { double res = 1.0; for(int i = n; i != 0; i /= 2){ if(i % 2 != 0){ res *= x; } x *= x; } .

2021-12-03 00:02:02 106

原创 二分模板2

模板2 int binarySearch(vector<int>& nums, int target){ if(nums.size() == 0) return -1; int left = 0, right = nums.size();"这里right是nums.size(),故意越界" while(left < right){ // Prevent (left + right) overflow int mid = left +...

2021-12-02 22:57:29 195

原创 2021年11月24日:二分查找模板2

模板2 int binarySearch(vector<int>& nums, int target){ if(nums.size() == 0) return -1; int left = 0, right = nums.size();"这里right是nums.size(),故意越界" while(left < right){ // Prevent (left + right) overflow int mid = left + ..

2021-11-29 14:30:52 298

原创 2021年11月23日 二分查找.模板一

一个防止运算中数据溢出的操作 重要思想:先减后加,先除再乘。 搜索旋转数组 自己的思路 :先找到那个“拐点”,然后分成两个序列,分别找。 class Solution { public: int search(vector<int>& nums, int target) { "Part 0" "无法合并的痛——数组只有一个元素,特殊情况,特殊处理" if(nums.size()==1){ ...

2021-11-24 20:25:48 258

原创 2021年11月20日 C++STL算法包

#include <algorithm> for_each for_each(iterator beg, iterator end, _func); "遍历算法 遍历容器元素" "beg 开始迭代器" "end 结束迭代器" " _func 函数或者函数对象" transform transform(iterator beg1, iterator end1, iterator beg2, _func); "beg1 源容器开始迭代器" "end1 源容器结束...

2021-11-23 08:14:24 154

原创 2021年11月17日 C++STL库 algorithm&&numeric

#include <algorithm> for_each for_each(iterator beg, iterator end, _func); "遍历算法 遍历容器元素" "beg 开始迭代器" "end 结束迭代器" " _func 函数或者函数对象" transform transform(iterator beg1, iterator end1, iterator beg2, _func); "beg1 源容器开始迭代器" "end1 源容器结束...

2021-11-18 11:01:55 773

原创 2021年11月17日 C++STL map

map map基本概念 简介: map中所有元素都是pair pair中第一个元素为key(键值),起到索引作用, 第二个元素为value(实值) 所有元素都会根据元素的键值自动排序 优点: 可以根据key值快速找到value值 map和multimap区别: map不允许容器中有重复key值元素 multimap允许容器中有重复key值元素 map的创建 构造: map<T1, T2> mp; "map默认构造函数:" map(const map &am..

2021-11-17 12:17:15 414

原创 2021年11月16日 C++ STL queue&&list&&set

queue 构造函数: queue<T> que; "queue采用模板类实现,queue对象的默认构造形式" queue(const queue &que); "拷贝构造函数" 赋值操作: queue& operator=(const queue &que); "重载等号操作符" 数据存取: push(elem); "往队尾添加元素" pop(); "从队头移除第一个元素" back(); "返回最后一个元素" front(); "返回第一个元.

2021-11-17 00:01:02 440

原创 2021年11月15日 C++ STL库 deque&&stack

deque 创建deque deque<T> deqT; "默认构造形式" deque(beg, end); "构造函数将[beg, end)区间中的元素拷贝给本身(beg和end都是deque的迭代器" deque(n, elem); "构造函数将n个elem拷贝给本身" deque(const deque &deq); "拷贝构造函数" deque赋值 d2 = d1; "直接赋值" d3.assign(d1.begin(), d1.end())...

2021-11-15 23:40:08 561 2

原创 2021年11月14日 C++ STL学习 string&&vector

Q1:为什么这里计算数组大小是6?而同时又可以通过index 9来访问元素

2021-11-15 20:01:54 711

原创 2021年11月9日 数组字符串初次收尾&&树开卷

删除重复数字 我的想法:在后面作比较 int removeDuplicates(int* nums, int numsSize){ int fast,slow;"快慢指针" if(!numsSize) return 0;"判断空数组" for(fast=0,slow=0;fast<numsSize-1;fast++){"快指针一往无前" if(nums[fast]!=nums[fast+1]){"判断是否是新的数字" slow++; ...

2021-11-09 21:47:16 106

原创 2021年11月8日 字符串

学了几天C++回来了,重新开始数据结构的内容! ^(异或运算符)实现交换 交换两个整数的值而不必用第三个参数 a = 9; b = 11; a=a^b; 1001^1011=0010 b=b^a; 1011^0010=1001 a=a^b; 0010^1001=1011 a = 11; b = 9; 如果有其它类型,那么就在前面加上强制类型转换符就好啦。 比如这样:(char) (s[left] ^ s[right]); 移除元素 思路: 不要想着去前后交换,那样效...

2021-11-08 18:13:49 428

原创 2021年11月4日 颠倒句子

先消除多余空格,再颠倒一整个表,最后颠倒每个单词; char * reverseWords(char * s){ int i=0,j=1,len=strlen(s); char t; "开始排除首尾中间多余的空格" "开始排除头部空格,找到第一个非空字符,之后全部往前移" if(s[0]==' '){ while(s[j]==' ') j++; while(i+j<=len){ ...

2021-11-04 20:06:22 129

原创 2021年11月3日 数组和二维数组

寻找数组中心索引 思路一: 外循环i、内循环j+变量left_sum+right_sum i爬整个表,j爬0-i-1个元素,然后得出left_sum,接着j=i+1,一直爬到末尾,得出right_sum; (如果都是正数的话,可以做到left>right就可以不做了,因为左边再加肯定比右边大) 如果仅仅是这样的话,那么还是相当复杂,那我只算第一次的left_sum=0,right_sum=数组全部元素和, 与此同时我再设置temp和next变量 这样子我后面每次迭代,left_sum+..

2021-11-03 18:42:32 283

原创 2021年10月28日 链表的递归 奇偶链表

删除链表倒数第N个节点 在自己的版本上参考大佬修改后的代码 struct ListNode* removeNthFromEnd(struct ListNode* head, int n){ struct ListNode* fast=head; struct ListNode* slow=head; while(n--) fast=fast->next; while(fast&&fast->next){ ..

2021-10-28 22:06:59 257 1

原创 2021-10-27 链表,双指针

环形链表 如上图所示,链表出现了环的结构。 操作一:判断一个链表是否为环形链表 最初思考:暴力就好了,每个节点附带一个flag域,初始化为0,如果第一次访问过就是1,一直p=p->next下去,如果找到某个节点的flag是1不是0,那么返回status==TRUE; 不难看出来,如果链表是一个首尾相顾的环,这样子做空间复杂度是O(N)【因为多了很多个flag域】,而且此时最糟糕的时间复杂度是O(N) ...

2021-10-27 20:51:33 249 1

原创 Git 学习 Day2

版本穿越 git reset --hard 版本号(由reflog带出) 分支合并 git merge 分支名 (合并到当前分支上) 冲突 修改冲突的时候,你如果删掉了某个分支的修改内容,只留下最后一个分支,那么这个分支的修改内容将会成为最终的版本,而其余分支的修改内容则被保存在各自的分支内(也就说,比如有branch A和master,你将branch A的修改合并到master上,但是你最后自己操作,删去了branch A,留下来的只有master的修改,这...

2021-10-25 21:36:05 119

原创 Git初入门&&我的第一个1024程序员节&&和她做回朋友的第一天

标题真是叠满了buff了哈哈哈,现在是北京时间2021年10月24日23点43分,距离程序员节结束还有15分钟左右的时间,刚刚从操场跑了2公里回来,今天的速度真的超级快,夜里漆黑无灯的操场上能看到昌平郊区的满天星空,这让我对理想多了一份渴望。 Git基本命令: 初始化本地仓库 git init 增加文本文件 vim "文件名".txt linux读写: i(写入): 输入“i”即可读写文档 esc :退出写入模式,可以进行诸如复制...

2021-10-24 23:58:32 227

原创 2021年10月12日 6-4 链式表的按序号查找 (10 分)

ElementType FindKth( List L, int K ){ int i=1; //初始化计数器 if(!L||K<1) //判断“空表”和“非正位置”的输入 return ERROR; while(L&&i!=K){//判断是否遍历完链表以及计数器是不是达到K了 L=L->Next; i++; } if(L)//如果未遍历完,那么就是想要的结果 retu...

2021-10-12 18:52:22 230

原创 2021年10月12日 6-3 求链式表的表长 (10 分)

int Length( List L ){ int len=0; while(L){ len++; L=L->Next; } return len; }

2021-10-12 18:08:11 110

原创 2021年10月12日 6-2 顺序表操作集 (20 分)

裁判程序(阅读请跳过) #include <stdio.h> #include <stdlib.h> #define MAXSIZE 5 #define ERROR -1 typedef enum {false, true} bool; typedef int ElementType; typedef int Position; typedef struct LNode *List; struct LNode { ElementType Data[MAXSIZE]...

2021-10-12 17:23:36 139

原创 2021-10-10 6-1 单链表逆转 (20 分)

接口定义: List Reverse( List L ); 结构定义: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */ }; typedef PtrToNode List; /* 定义单链表类型 */ 主函数: #include <stdio.h> #include <stdlib..

2021-10-10 21:53:51 262 1

原创 数组元素往后移

void move(int array[20], int n/*数组长度*/, int m/*移动次数*/) { int *p, array_end; array_end = *(array+n-1);//保存末尾数 for (p = array + n - 1; p > array; p--) { *p = *(p-1); //全体后移一位 } *array = array_end;//最后一个数重.

2021-09-27 16:52:35 2897

原创 矩阵螺旋输出

#include <stdio.h> int main(){ int m,n,i,j; scanf("%d%d",&m,&n); int a[m][n]; int h=0,s=0,count=0; for(i=0;i<m;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]); m--; while(n>-1&&.

2021-08-25 08:26:20 106

原创 1009 说反话 (20 分)

伪代码: 1.读入数据; 2.用记下空格的位置; 3.用循环(这里的count用起来好像指针hhh)来完成对应的输出; #include <stdio.h> int main(){ char a[100000],b[100000]; int i=0,count=0; while((a[i]=getchar())!='\n'){ if(a[i]==' ') b[count++]=i; i++; }..

2021-08-11 22:24:51 207

原创 1008 数组元素循环右移问题 (20 分)

输入样例: 6 2 1 2 3 4 5 6 输出样例: 5 6 1 2 3 4 伪代码: 1.读入数据; 2.从右往左拉M个位子; 3.多余的排到最前面; 关键: Q:为什么要有save呢? A:之所以会有save这个变量,就是因为要考虑到M>N这种情况; Q:为什么不用m%n? A:因为在第三个for循环里面改变了n的值; #include <stdio.h> int main(){ int a[10000]; int n,m,i...

2021-08-11 22:10:49 113

原创 小程序:判断素数

int a[100],b[100000]={0}; scanf("%d",&n); for(i=2;i<n;i++){ for(j=2;j*i<=n;j++) b[i*j]=1; } for(i=0;i<=n;i++){ if(!b[i]){ a[count++]=i; } }

2021-08-11 21:51:28 425

原创 【刷题笔记】PAT 1004 成绩排名

输入样例: 3 Joe Math990112 89 Mike CS991301 100 Mary EE990830 95 输出样例: Mike CS991301 Joe Math990112 伪代码: 1. 读入一个整数n,计入学生数; 2.循环依次读入每个学生的姓名学号成绩,保存在数组a和score中; 3.每次循环进行判断,更新max 和 min 的值并用字符串数组high和low保存学生信息; 4.跳出循环,打印要求。 第一次实验:2021.8.9 #include...

2021-08-09 19:33:30 100

空空如也

空空如也

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

TA关注的人

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