- 博客(12)
- 收藏
- 关注
原创 力扣初级算法书 ——数组刷题总结
**数组的题目总结:(刷数组刷着刷着刷到了动态规划的题在里面差评)1.熟练掌握双指针的这种思想,代码尽量逻辑清楚2.对于寻找某个元素:排序、哈希、二分 、利用位运算的性质等基本就上面的这些 有个题蛮特殊 旋转数组(给大家贴个地址,这个题蛮不错的)**189. 旋转数组136. 只出现一次的数字思路:1.排序判断就行2.进阶:位运算异或的性质 :俩个相同的数异或为0 ,所以最后异或的值就是出现一次的元素的值代码://位运算的性质class Solution {public
2021-07-22 13:27:40
265
原创 Leetcode关于数对的 题总结
大三了,要找工作了,呜呜所以来水一下leetcode1877求数对相关的题总结难度依次增加(三个题)数组中最大数对和的最小值题解:需要找到小的最大数对和我们贪心的想,一个数列有很多元素,它们应该是有次序的,我们应该让最大的和最小的结合,然后依次向中间靠拢才能使整个数列数对的和最小(证明:如果最大值结合其他选手一定使结果变大了,然后最大确定了依次就是次大它所结合的也就确定了)这也算是双指针的方法代码class Solution {public: int minPairSum(vec
2021-07-20 15:21:49
267
原创 c++文件操作(基于黑马)
文件操作程序运行的数据属于临时数据,一旦结束就释放。所以需要通过文件将数据持久化c++ 文件操作包含头文件文件类型:1.文本文件 :ASCII码存储2.二进制文件操作文件的三大类:1.ofstream 写操作2.ifstream 读操作3.fstream 读写操作写文件文本文件1.包含头文件 #include 2.创建流对象 ofstream ofs;3.打开文件 ofs.open(“文件路径”,打开方式);4.写数据 ofs << “写入的数据
2021-07-17 23:41:56
299
2
原创 c++运算符重载(基于黑马程序员)
1.加号运算符重载运算符重载的俩种方式:全局函数重载和成员函数重载#include <iostream>#include <stdio.h>using namespace std;//运算符重载,也可以发生函数重载class Person {public://1.成员函数重载+号//Person operator+ (Person &p)//{// Person temp;// temp.m_a = m_a + p.m_a;// temp.m_b =
2021-07-04 20:01:14
253
原创 c++中友元的三种用法(基于黑马的视频)
全局函数作友元#include<iostream>#include<stdio.h>#include <string>//全局函数作友元访问私有的 using namespace std;class Buliding { friend void GoodGay(Buliding& buliding);public: Buliding() { m_SittingRoom = "客厅"; m_BedRoom = "卧室"; }pub.
2021-07-04 17:26:56
85
原创 c++对象模型和this指针(基于黑马程序员的视频)
成员变量和成员函数存储的问题#include <iostream>#include <stdio.h>using namespace std;//在C++中,类内的成员变量和成员函数分开存储//只有非静态成员变量才属于类的对象上 class Person{ int m_a;//只有非静态成员变量才属于类的对象,才会分配空间 static int m_b; void func(){ } static void m_func(){ }};int Person
2021-07-04 16:34:04
115
原创 c++类的基本用法(析构和构造函数)
创建长方体类实现求体积和面积的操作,然后分别用类成员函数和全局函数判断俩个长方体是否相等#include <iostream>#include <stdio.h>using namespace std;class Cube {protected: int m_H, m_W, m_L;public: Cube(int h=0,int w=0,int l=0) { m_H = h, m_W = w, m_L = l; } int getH() {
2021-07-03 18:50:48
180
原创 c++类成员的三种属性基本用法
c++类成员的三种属性基本用法直接写在注释里面#include <iostream>#include <stdio.h>#include <string>using namespace std;class Student { public: string name,sno; void show() { cout <<"学生的姓名:" << name <<endl <<"学生的学号:" <&l
2021-07-02 17:45:37
1245
原创 c++高级函数的注意事项
c++高级函数的学习#include <iostream>#include <stdio.h>using namespace std;//函数默认参数,如果该默认参数未 传入就是默认值,传入就是传入的值 //注意事项: 如果有默认参数,则从第一个默认参赛到最后的参数都必须为默认参数//如果不这样会产生歧义 //2、声明和实现就只能有一个默认参数,都默认的话如果默认值输入错误就有二义性 void func(int a,int b, int c){ cout <
2021-07-02 17:06:27
84
原创 2020-10-07
洛谷P1605搜索简单题1605思路:1。深度优先进行搜索就行。2.迷宫的边界全部当作障碍或者被访问过的地方3.数组不能全部初始化为一**改代码半小时。。。4.进行回溯过程时取消标记就行了
2020-10-07 14:43:48
80
原创 洛谷1219搜索
洛谷p1219搜索问题p1219思路:1.用行数组存储结果。2.无法搜索就回溯,取消标记 3.边界条件是到达最大深度的下一个深度,此时可能已经找到了解4.将对角线之和为定值或者之差为定值来对每一条对角线进行标记。#include<stdio.h>int cnt=1;int ls[105],rs[105],lie[15],ans[15];//ans[i]代表第i行第ans[i]里面有棋子int n; void put(){ int i; if(cnt<=3){ fo
2020-10-07 11:01:14
129
原创 蓝桥杯猴子吃包子
蓝桥杯猴子吃包子思路1:将其分为整数和小数进行输出,小数转化为一位的整数,一次一次进行输出。错误:本题是要求输出n位小数,而使用%f来保存我们计算的结果只能是6位#include<stdio.h>int main(){ int x,y,z; float x1,y1,z1; scanf("%f %f %f %d %d %d",&x1,&y1,&z1,&x,&y,&z); int n; scanf("%d",&n);
2020-10-04 13:18:27
110
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人