C/C++ 数组面试算法题
1.将一个数组逆序输出
https://blog.csdn.net/qq_45385706/article/details/110739961
1 #include<stdio.h>2 3 #define N 94 5 int main()6 {7 int a[N] = {1,2,3,4,5,6,7,8,9};8 for(int i = 0;i<N/2;i++)9 {
10 int temp = a[i];
11 a[i] = a[N-1-i];
12 a[N-1-i] = temp;
13 }
14
15 for(int i = 0;i<N;i++)
16 {
17 printf("%d ",a[i]);
18 }
19
20 return 0;
21 }
C++实现:
1 #include <iostream>2 #include <vector>3 #include <algorithm>4 using namespace std;5 6 int main() {7 8 vector<int> ans = {1,2,3,4,5,6};9 reverse(ans.begin(),ans.end());
10 for(int i = 0;i<ans.size();i++){
11 cout << ans[i] << " ";
12 }
13
14 return 0;
15 }
2.有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
https://blog.csdn.net/qq_45385706/article/details/110739053
1 #include<stdio.h>2 3 int main()4 {5 int x,temp,top;6 int a[11]={1,4,6,9,13,16,19,28,40,100};7 printf("输入一个数\n");8 scanf("%d",&x);9 for(int i = 0;i<10;i++)
10 {
11 if(x < a[i])
12 {
13 temp = a[i];
14 a[i] = x;
15 for(int j = i+1;j<11;j++)
16 {
17 top = a[j];
18 a[j] = temp;
19 temp = top;
20 }
21 break;
22 }
23 }
24
25 for(int i = 0;i<11;i++)
26 {
27 printf("%d ",a[i]);
28 }
29
30 return 0;
31 }
3.九十度旋转矩阵
https://blog.csdn.net/weixin_46617214/article/details/124230458
1 #include<stdio.h>2
3 #define N 3
4 #define M 3
5
6 int main()
7 {
8 int a[M][N] = {{1,2,3},{4,5,6},{7,8,9}};
9
10 for(int i = 0;i<N;i++)
11 {
12 for(int j = i;j<M;j++)
13 {
14 int temp = a[i][j];
15 a[i][j] = a[j][i];
16 a[j][i] = temp;
17 }
18 }
19
20 for(int i = 0;i<N;i++)
21 {
22 for(int j = 0;j<M/2;j++)
23 {
24 int temp = a[i][j];
25 a[i][j] = a[i][M-1-j];
26 a[i][M-1-j] = temp;
27 }
28 }
29
30 for(int i = 0;i<N;i++)
31 {
32 for(int j = 0;j<M;j++)
33 {
34 printf("%d ",a[i][j]);
35 }
36 printf("\n");
37 }
38
39 return 0;
40 }
C++实现:
1 #include <iostream>2 #include <vector>3 using namespace std;4 5 class node{6 public:7 vector<vector<int>> longset(vector<vector<int>>& ans){8 int x = 0,y = ans.size()-1;9 while(x<y){
10 swap(ans[x++],ans[y--]);
11 }
12 for(int i = 0;i<ans.size();i++){
13 for(int j = 0;j<i;j++){
14 swap(ans[i][j],ans[j][i]);
15 }
16 }
17 return ans;
18 }
19 };
20
21 int main() {
22
23 node n;
24 vector<vector<int>> ans;
25 ans.push_back({1,2,3});
26 ans.push_back({4,5,6});
27 ans.push_back({7,8,9});
28 ans = n.longset(ans);
29 for(int i = 0;i<ans.size();i++){
30 for(int j = 0;j<ans[0].size();j++){
31 cout << ans[i][j] << " ";
32 }
33 cout << endl;
34 }
35
36 return 0;
37 }
4.给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。
https://blog.csdn.net/Mu_Muxi_/article/details/120708455
1 #include <stdio.h>2 3 #define N 34 #define M 35 6 int main()7 {8 int a[N][M] = {{1,1,1},{1,0,1},{1,1,1}};9 int b[10],c[10];
10 for(int i = 0;i<N;i++)
11 {
12 for(int j = 0;j<M;j++)
13 {
14 if(a[i][j] == 0)
15 {
16 b[i] = 1;
17 c[j] = 1;
18 }
19 }
20 }
21
22 for(int i = 0;i<N;i++)
23 {
24 if(1 == b[i])
25 {
26 for(int j = 0;j<M;j++)
27 {
28 a[i][j] = 0;
29 if(1 == c[j])
30 {
31 for(int k = 0;k<M;k++)
32 {
33 a[k][j] = 0;
34 }
35 }
36 }
37 }
38 }
39
40 for(int i = 0;i<N;i++)
41 {
42 for(int j = 0;j<M;j++)
43 {
44 printf("%d ",a[i][j]);
45 }
46 printf("\n");
47 }
48
49 return 0;
50 }
C++实现:
1 #include <iostream>2 #include <vector>3 using namespace std;4 5 class node{6 public:7 vector<vector<int>> longget(vector<vector<int>>& ans){8 int m = ans.size(),n = ans[0].size();9 for(int i = 0;i<m;i++){
10 for(int j = 0;j<n;j++){
11 if(0 == ans[i][j]){
12 ans[0][j] = ans[i][0] = 0;
13 }
14 }
15 }
16 for(int i = 1;i<m;i++){
17 for(int j = 1;j<n;j++){
18 if(ans[0][j]==0 || ans[i][0]==0){
19 ans[i][j] = 0;
20 }
21 }
22 }
23 return ans;
24 }
25 };
26
27 int main() {
28
29 node n;
30 vector<vector<int>> ans;
31 ans.push_back({1,1,1});
32 ans.push_back({1,0,1});
33 ans.push_back({1,1,1});
34 ans = n.longget(ans);
35 for(int i = 0;i<ans.size();i++){
36 for(int j = 0;j<ans[0].size();j++){
37 cout << ans[i][j] << " ";
38 }
39 cout << endl;
40 }
41
42 return 0;
43 }
5.搜索二维矩阵
https://blog.csdn.net/qq_47406941/article/details/110091759
编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:
-
每行中的整数从左到右按升序排列。
-
每行的第一个整数大于前一行的最后一个整数。
1 #include <stdio.h>2 3 #define N 34 #define M 45 6 int main()7 {8 int x,i = 0,j = M -1;9 int a[N][M] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
10 printf("输入一个要查找的数\n");
11 scanf("%d",&x);
12 while(1)
13 {
14 if(x == a[i][j])
15 {
16 printf("找到了\n");
17 break;
18 }
19 else if(x > a[i][j])
20 {
21 if(i < N-1)
22 {
23 i++;
24 }
25 else
26 {
27 printf("没找到\n");
28 break;
29 }
30 }
31 else
32 {
33 if(j > 0)
34 {
35 j--;
36 }
37 else
38 {
39 printf("没找到\n");
40 break;
41 }
42 }
43 }
44
45 return 0;
46 }
c++实现:
1 #include <iostream>2 #include <vector>3 using namespace std;4 5 class node{6 public:7 bool search(vector<vector<int>>& matrix,int target){8 int m = matrix.size(),n = matrix[0].size();9 int l = 0,r = m*n-1;
10 while(l<r){
11 int mid = l + (r-l)/2;
12 if(matrix[mid/n][mid%n]>=target) r = mid;
13 else l = mid + 1;
14 }
15 return matrix[r/n][r%n] == target;
16 }
17 };
18
19 int main(){
20
21 node n;
22 vector<vector<int>> cur;
23 cur.push_back({1,3,5,7});
24 cur.push_back({10,11,16,20});
25 cur.push_back({23,30,34,60});
26 cout << n.search(cur,11) << endl;
27
28 return 0;
29 }
6.两数之和
输入一个数为数组里面两个数之和。
https://blog.csdn.net/weixin_43176384/article/details/86373778
1 #include <stdio.h>2 #include <string.h>3 4 #define N 45 6 int main() 7 {8 int i = 0,j = 0,x = 0,z = 0,y = 0;9 int a[N]={2,7,11,15};
10 printf("输入一个数是数组两数之和\n");
11 scanf("%d",&x);
12 for(i = 0;i<N-1;i++)
13 {
14 for(j = i+1;j<N-1;j++)
15 {
16 if(x == a[i]+a[j])
17 {
18 z = i;
19 y = j;
20 break;
21 }
22 }
23 }
24 printf("%d+%d之和为%d\n",a[z],a[y],x);
25
26 return 0;
27 }
C++实现:
1 #include<iostream>2 #include<vector>3 #include<unordered_map>4 using namespace std;5 6 class node{7 public:8 vector<int> twosun(vector<int>& nums,int target)9 {
10 unordered_map<int,int> record;
11 for(int i = 0;i<nums.size();i++){
12 int num = target - nums[i];
13 if(record.find(num) != record.end()){
14 return {record[num],i};
15 }
16 record[nums[i]] = i;
17 }
18 return {-1,-1};
19 }
20 };
21
22 int main()
23 {
24 node n;
25 vector<int> cur;
26 vector<int> nums = {2,7,11,15};
27 cur = n.twosun(nums,9);
28 for (auto i : cur)
29 cout << i << endl;
30
31 return 0;
32 }
7.顺时针打印二维数组
https://blog.csdn.net/qq_44443986/article/details/109738061
1 #include <stdio.h>2 #include <string.h>3 4 #define N 35 #define M 36 7 int main() 8 {9 int arr[N][M] = {{1,2,3},{4,5,6},{7,8,9}};
10 int a = 0,b = N-1,c = 0,d = M-1,k = 0;
11 while(1)
12 {
13 for(int i = a;i<=b;i++)
14 {
15 printf("%d ",arr[c][i]);
16 }
17 if(c++ > d)break;
18
19 for(int i = c;i<=d;i++)
20 {
21 printf("%d ",arr[i][b]);
22 }
23 if(b-- < a)break;
24
25 for(int i = b;i>=a;i--)
26 {
27 printf("%d ",arr[d][i]);
28 }
29 if(d-- < c)break;
30
31 for(int i = d;i>=c;i--)
32 {
33 printf("%d ",arr[i][a]);
34 }
35 if(a++ > b)break;
36 }
37
38 return 0;
39 }
c++实现:
1 #include <iostream>2 #include <vector>3 using namespace std;4 5 class node{6 public:7 vector<int> setzore(vector<vector<int>>& cur){8 int m = cur.size(),n = cur[0].size();9 int up = 0,down = m-1,left = 0,right = n-1;
10 vector<int> ans;
11 while(1){
12 for(int i = left;i<=right;i++) ans.push_back(cur[up][i]);
13 if(++up>down) break;
14 for(int i = up;i<=down;i++) ans.push_back(cur[i][right]);
15 if(--right<left) break;
16 for(int i = right;i>=left;i--) ans.push_back(cur[down][i]);
17 if(--down<up) break;
18 for(int i = down;i>=up;i--) ans.push_back(cur[i][left]);
19 if(++left>right) break;
20 }
21 return ans;
22 }
23 };
24
25 int main(){
26
27 node n;
28 vector<int> ans;
29 vector<vector<int>> cur;
30 cur.push_back({1,2,3});
31 cur.push_back({4,5,6});
32 cur.push_back({7,8,9});
33 ans = n.setzore(cur);
34 for(int i = 0;i<ans.size();i++)
35 cout << ans[i] << " ";
36
37 return 0;
38 }
8.三数之和(力扣15题)
1 #include <iostream>2 #include <vector>3 #include<algorithm>4 using namespace std;5 6 class node{7 public:8 vector<vector<int>> threesum(vector<int>& nums){9 vector<vector<int>>ans;
10 sort(nums.begin(),nums.end());
11 for(int i = 0;i<nums.size();i++){
12 if(i>0 && nums[i] == nums[i+1]) continue;
13 int l = i+1,r = nums.size() -1;
14 int target = 0 - nums[i];
15 while(l<r){
16 if(nums[l]+nums[r]==target){
17 ans.push_back({nums[i],nums[l],nums[r]});
18 while(l<r && nums[l] == nums[l+1]) l++;
19 while(l<r && nums[r] == nums[r-1]) r--;
20 l++,r--;
21 }else if(nums[l]+nums[r]>target){
22 r--;
23 }else{
24 l++;
25 }
26 }
27 }
28 return ans;
29 }
30 };
31
32 int main()
33 {
34 node n;
35 vector<vector<int>> cur;
36 vector<int> nums = {-1,0,1,2,-1,-4};
37 cur = n.threesum(nums);
38 int x = cur[0].size(),y = cur.size();
39 for(int i = 0;i<y;i++){
40 for(int j = 0;j<x;j++){
41 cout << cur[i][j];
42 }
43 cout << endl;
44 }
45
46 return 0;
47 }
9.四数之和(力扣18题)
1 #include <iostream>2 #include <vector>3 #include <algorithm>4 using namespace std;5 6 class node{7 public:8 vector<vector<int>> forsun(vector<int>& nums,int target){9 vector<vector<int>> ans;
10 sort(nums.begin(),nums.end());
11 for(int i = 0;i<nums.size();i++){
12 if(i>0 && nums[i] == nums[i-1]) continue;
13 for(int j = i+1;j<nums.size();j++){
14 int l = j+1,r = nums.size()-1;
15 int sum = target - nums[i] - nums[j];
16 while(l<r){
17 if(nums[l]+nums[r] == sum){
18 ans.push_back({nums[i],nums[j],nums[l],nums[r]});
19 while(l<r && nums[l] == nums[l+1]) l++;
20 while(l<r && nums[r] == nums[r-1]) r--;
21 l++,r--;
22 }else if(nums[l]+nums[r] > sum){
23 r--;
24 }else{
25 l++;
26 }
27 }
28 }
29 }
30 return ans;
31 }
32 };
33
34 int main()
35 {
36 node n;
37 vector<vector<int>> top;
38 vector<int> cur = {1,0,-1,0,-2,2};
39 top = n.forsun(cur,0);
40 int x = top.size(),y = top[0].size();
41 for(int i = 0;i<x;i++){
42 for(int j = 0;j<y;j++){
43 cout << top[i][j] << " ";
44 }
45 cout << endl;
46 }
47
48 return 0;
49 }
10.删除数组中的重复元素,使每个元素最毒只能出现2次。(力扣80题)
1 #include <iostream>2 #include <vector>3 using namespace std;4 5 class node1{6 public:7 int remove(vector<int>& nums){8 if(nums.size() <= 2) return nums.size();9 int idx = 1;
10 for(int i = 2;i<nums.size();i++){
11 if(nums[i] != nums[idx-1]){
12 nums[++idx] = nums[i];
13 }
14 }
15 return idx+1;
16 }
17 };
18
19 int main()
20 {
21 node1 n;
22 vector<int> ans = {1,1,1,2,2,3};
23 cout << n.remove(ans) << endl;
24
25 return 0;
26 }
11.删除数组中的重复元素,使每个元素最多出现一次(力扣26题)
1 #include <iostream>2 #include <vector>3 using namespace std;4 5 class node1{6 public:7 int remove(vector<int>& nums){8 if(nums.size() <= 2) return nums.size();9 int idx = 0;
10 for(int i = 1;i<nums.size();i++){
11 if(nums[i] != nums[idx]){
12 nums[++idx] = nums[i];
13 }
14 }
15 return idx+1;
16 }
17 };
18
19 int main()
20 {
21 node1 n;
22 vector<int> ans = {1,1,1,2,2,3};
23 cout << n.remove(ans) << endl;
24
25 return 0;
26 }
相关文章:
C/C++ 数组面试算法题
1.将一个数组逆序输出 https://blog.csdn.net/qq_45385706/article/details/110739961 1 #include<stdio.h>2 3 #define N 94 5 int main()6 {7 int a[N] {1,2,3,4,5,6,7,8,9};8 for(int i 0;i<N/2;i)9 { 10 int temp a[i]; 11 a[i]…...
【pwn入门】用gdb实现第1个pwn
声明 本文是B站你想有多PWN学习的笔记,包含一些视频外的扩展知识。 有问题的源码 #include <stdio.h> #include <stdlib.h> #include <unistd.h> char sh[]"/bin/sh"; int func(char *cmd){system(cmd);return 0; }int main(){char …...
用pyinstaller打包LGBM模型为ELF/EXE可执行文件
1. 引入 写好的python代码和模型,如果需要做到离线部署、运行,就必须要将代码和模型打包为可独立运行的可执行文件。 使用pyinstaller就能做到这个,相同的代码,在windows上运行就能打包为exe,在linux上运行就能打包为…...
软考中级—— 操作系统知识
进程管理 操作系统概述 操作系统的作用:通过资源管理提高计算机系统的效率;改善人机界面向用户提供友好的工作环境。 操作系统的特征:并发性、共享性、虚拟性、不确定性。 操作系统的功能:进程管理、存储管理、文件管理、设备…...
我们是否真的需要k8s?
文章目录 背景k8s相关的讨论为什么要用k8sk8s带来了什么当前业务使用到k8s的核心优势了吗直接自己买服务器会不会更便宜?其他QA没有人可以说出来为什么一定要用k8s而不是其他的没有人可以解释为什么成本核算困难以及成本这么高的原因没有人给出面向C端,面…...
基于蜉蝣优化的BP神经网络(分类应用) - 附代码
基于蜉蝣优化的BP神经网络(分类应用) - 附代码 文章目录 基于蜉蝣优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.蜉蝣优化BP神经网络3.1 BP神经网络参数设置3.2 蜉蝣算法应用 4.测试结果:5.M…...
前端系列-1 HTML+JS+CSS基础
背景: 前端系列会收集碎片化的前端知识点,作为自己工作和学习时的字典,欢迎读者收藏和使用。 笔者是后端开发😶前端涉猎不深,因此文章重在广度和实用,对原理和性能不会过多深究。 1.html 1.1 html5网页结…...
Learning Invariant Representation for Unsupervised Image Restoration
Learning Invariant Representation for Unsupervised Image Restoration (Paper reading) Wenchao Du, Sichuan University, CVPR20, Cited:63, Code, Paper 1. 前言 近年来,跨域传输被应用于无监督图像恢复任务中。但是,直接应用已有的框架…...
1.4.C++项目:仿muduo库实现并发服务器之buffer模块的设计
项目完整版在: 一、buffer模块: 缓冲区模块 Buffer模块是一个缓冲区模块,用于实现通信中用户态的接收缓冲区和发送缓冲区功能。 二、提供的功能 存储数据,取出数据 三、实现思想 1.实现换出去得有一块内存空间,采…...
AndroidStudio精品插件集
官网 项目地址:Github博客地址:Studio 精品插件推荐 使用需知 所有插件在 Android Studio 2022.3.1.18(长颈鹿)上测试均没有问题,推荐使用此版本Android Studio 2022.3.1.18(长颈鹿)正式版下…...
java图书管理系统
一、 引言 图书管理系统是一个用于图书馆或书店管理图书信息、借阅记录和读者信息的应用程序。本系统使用Java Swing框架进行开发,提供直观的用户界面,方便图书馆管理员或书店工作人员对图书信息进行管理。以下是系统的设计、功能和实现的详细报告。 二…...
大屏自适应容器组件-Vue3+TS
1.引言 在做数字大屏时,图表能跟着浏览器的尺寸自动变化,本文采用Vue3前端框架,采用TypeScript语言,封装了一个大屏自适应组件,将需要显示的图表放入组件的插槽中,就能实现自适应屏幕大小的效果。 2.实际…...
java图书信息管理
一、项目概述 本图书信息管理系统旨在提供一个直观的用户界面,用于管理图书馆或书店的图书信息。系统包括图书添加、查询、借阅和归还等功能。 二、系统架构 系统采用JavaSwing作为前端UI框架,后端使用Java Servlet处理业务逻辑,数据存储在…...
apache服务器出现No input file specified.解决方案
APACHE服务器出现No input file specified.解决方案 thinkcmf程序默认的.htaccess里面的规则: <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA…...
你写过的最蠢的代码是?——全栈开发篇
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...
正点原子嵌入式linux驱动开发——TF-A初探
上一篇笔记中,正点原子的文档简单讲解了一下什么是TF-A,并且也学习了如何编译TF-A。但是TF-A是如何运行的,它的一个运行流程并未涉及。TF-A的详细运行过程是很复杂的,涉及到很多ARM处理器底层知识,所以这一篇笔记的内容…...
【网安别学成开发】之——python篇
经典入门编程题 1.猜数字 经典的猜数字游戏,几乎所有人学编程时都会做。 功能描述: 随机选择一个三位以内的数字作为答案。用户输入一个数字,程序会提示大了或是小了,直到用户猜中。 #!/usr/bin/env python3import randomresu…...
vue图片显示
一、Vue图片显示方法: 1.直接使用<img>标签: 最简单的方法是使用<img>标签,并将图片的URL作为src属性的值。例如: <img src"path/to/your/image.jpg" alt"Image"> 如果是绝对路径&#x…...
S32K144 GPIO编程
前面的文章介绍了如何在MDK-Keil下面进行S32K144的开发,下面就使用该工程模板进行GPIO LED的编程试验。 1. 开发环境 S32K144EVB-Q100开发板MDK-Keil Jlink 2. 硬件连接 S32K144EVB-Q100开发板关于LED的原理图如下: 也就是具体连接关系如下…...
域名备案流程(个人备案,腾讯云 / 阿里云)
文章目录 1.网站备案的目的2.备案准备的材料2.1 网站域名2.2 云资源或备案授权码2.3 电子材料 3.首次个人备案准备的材料3.1 主体相关3.2 域名相关3.3 网站相关3.4 网站服务相关3.5 变更相关 4.个人备案流程4.1 登录系统4.2 填写备案信息🍀 填写备案省份ἴ…...
子网ip和子网掩码的关系
子网ip和子网掩码的关系 一个IP地址被分为两部分:网络地址和主机地址。这是通过子网掩码来实现的。 子网掩码(Subnet Mask)是一个32位的二进制数,它用来区分一个IP地址中的网络地址和主机地址。在子网掩码中,网络地址…...
openGauss学习笔记-88 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用将磁盘表转换为MOT
文章目录 openGauss学习笔记-88 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用将磁盘表转换为MOT88.1 前置条件检查88.2 转换88.3 转换示例 openGauss学习笔记-88 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用将磁盘表转换为MOT …...
网络-Ajax
文章目录 前言一、Ajax优点:缺点: 二、使用步骤XNLHttpRequest对象完整代码 总结 前言 本文主要记录Ajax技术的简介,以及用法。 一、Ajax Ajax是一组用于在Web浏览器和Web服务器之间进行异步通信的Web开发技术。 它代表着Asynchronous Java…...
Autowired和Resource的关系
相同点对于下面的代码来说,如果是Spring容器的话,两个注解的功能基本是等价的,他们都可以将bean注入到对应的field中 不同点但是请注意,这里说的是基本相同,说明还是有一些不同点的: byName和byType匹配顺…...
HashTable, HashMap, ConcurrentHashMap 之间的区别
HashMap: 线程不安全. key 允许为 null。 Hashtable: 线程安全. 使用 synchronized 锁 Hashtable 对象, 效率较低. key 不允许为 null.。只是简单的把关键方法上加上了 synchronized 关键字。如 get 和 set ,这相当于直接针对 Hashtable 对象本身加锁,如…...
Maven下载源码出现:Cannot download sources Sources not found for org.springframwork...
Maven下载源码出现:Cannot download sources Sources not found for org.springframwork… 最近重装了IDEA再次查看源码时发现总是报错,网上找了很多,发现解决方法都是在项目终端执行如下命令: mvn dependency:resolve -Dclassi…...
C进阶--字符函数和字符串函数介绍
✨ 更多细节参考 cplusplus.com/reference/cstring/ 使用方式: ⭕ 求字符串长度 🖌 strlen 函数原型: size_t strlen ( const char * str ); 作用: 获取字符串长度 ✨补充: ⭐字符串以 \0 作为结束标志&…...
算法通关村第五关-二叉树遍历(层数优先)之经典问题:简单的层序遍历、层序遍历分层、自底向上的层序遍历
基础知识(青铜挑战) 了解二叉树的基础知识 实战训练(白银挑战) 简单的层序遍历 基本的层序遍历思路很清晰: 给你一个二叉树根节点,你需要创建一个队列 queue 来遍历节点,一个链表 list 来存储…...
C++左右值及引用
1 左值和右值 简单记法:能取地址的是左值,不能取地址的是右值 右值一般是常量 例: i 是右值,因为先把 i 赋值给临时变量,临时变量在1,而临时变量是将亡值,&i取地址会报错 i是左值…...
如何备份和恢复数据库
目录 1.xtrabackup 是什么2.全量备份3.增量备份4.使用备份进行恢复5.原理6.参考 本文主要介绍如何使用xtrabackup 进行数据库的备份和恢复,并在最后介绍了原理。 1.xtrabackup 是什么 XtraBackup是由Percona开发的一款开源的MySQL数据库备份工具。它可以对InnoDB和…...
广西玉林网站建设正规公司/推广手段和渠道有哪些
分布式应用系统中,经常会用到zk,比如dubbo注册中心,kafka分布式集群等都用到zk这一工具。除了这些用来做分布式集群外,zk还有那西应用场景事我们可以使用到该工具的呢?所以接下来就是我们要了解的重点了。 首先在使用z…...
.net怎么做网站/精准引流的网络推广
随机显示矩阵已经完成了,接下来就是怎么根据输入移动数字 1.首先需要一个issort函数,判断是否排序完成,如果否,则printf输入需要移动的数字,然后根据输入找到要移动的数字,找到下划线的位置,判断…...
免费素材网站哪个最好/百度引擎的搜索方式是什么
写查询语句的时候有时候会突然来这么一句提示,仔细看sql还没什么错误。 报错代码 SQL> select l.awuname,g.aultext,d.aulword2 from aw_usercotrl l,aw_userlog g,aw_userlog_lword d3 where l.awuid g.awuid and g.aulid d.fkaulid4 ;select from whereO…...
手机端网站图片上传如何做/南京seo新浪
前言 III族一定是受主吗,V族一定做施主吗? 元素周期表 \;\\\;\\\; III族元素:硼B、铝Al、镓Ga、铟In V族元素:氮N、磷P、砷As、锑Sb...
简单几步为wordpress加上留言板/做网站怎么赚钱
模板介绍 一份高质量的PPT模板,可以让你在日常的工作中展示自我、脱颖而出、去赢得更多机会,今天小编分享一份精美的黑白高端商务报告PPT模板 PPT模板名称:黑白高端商务报告PPT模板,模板编号:P83481,大小…...
网站开发人员的 生活/如何进行网络推广营销
实现方法:(需要开启悬浮窗通知权限、允许应用在其他应用上显示)一.利用headsup悬挂式Notification,他是5.0中新增的,也就是API中的Headsup的Notification,可以在不打断用户操作的时候,给用户通知二.使用Window创建悬浮…...