自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 整数二分步骤

4.如果更新方式写的是R = Mid , 则不用做任何处理;如果更新方式写的是L = Mid, 则需要在计算Mid时加上1。3.分析终点M在该判断条件下是否成立,如果成立,考虑答案在哪个区间;如果不成立,考虑答案在哪个区间。2.找一个判断条件,使得该条件具有二段性,并且答案一定是该二段性的分界点。1.找一个区间[L, R],使得答案一定在该区间中。

2024-03-24 22:37:42 114

原创 cpp位运算在算法中常用操作

放回x 的最后一位1;

2024-03-16 18:23:23 97

原创 cpp算法中用到的指针操作

Y总说只有这个是常用的。

2024-03-13 22:11:19 109

原创 欧几里算法

作用:欧几里得算法(Euclidean Algorithm)是一种用于计算两个非负整数的最大公约数的算法。它基于以下原理:两个数的最大公约数等于其中较小的数和两数相除的余数的最大公约数。1.0 设两个非负整数为 a 和 b(假设 a >= b)。4.0 将 b 更新为 r,同时将 a 更新为原来的 b。2.0 如果 b 等于 0,则 a 就是最大公约数。5.0 重复步骤 2 到 4,直到 b 等于 0。3.0 否则,用 a 除以 b,得到余数 r。刚了解到算法,理解不是很深 ,多多指教。

2024-03-12 17:27:46 144

原创 C++函数调用的三种方式

当参数的形参为引用类型时,对形参的修改会影响实参的值。使用引用的作用:避免拷贝,让参数返回额外信息;3.数组的传递(数组的传递也是引用传递)函数内部改变,传递回来不会改变原来变量的值。C++函数调用两种三种方式。

2024-03-12 16:44:16 876

原创 一个字符串中是否有另一个字符串相等的元素并且输出下标

上面那个是从前往后比较。下面这个是从后往前比较。

2024-03-11 21:04:47 109

原创 C++ sstream的算法基本用法之一

string中有数字有字母有浮点数等等之类的,你想把string中的浮点数与字母分开来输出,这时stringstream就是很好的手段;//我知道sstream 的用法肯定不止这些,等我学会了再写一篇总结。第 3 行是 a 将被替换的单词 c(长度不超过 100100)。在string中用stringstream可以实现每个类型的分类。第 2 行是待替换的单词 b(长度不超过 100100);此时就可以把这些整数,字符串,浮点数输出。第 1 行是包含多个单词的字符串 a;刚学的用于算法很好用的。

2024-03-10 11:26:14 225

原创 C++中的string注意事项

/错误,不能把字面值直接相加,运算从左到右进行的。//正确,每个加法运算符号都有一个是string。把一个string对象和有一个字面值相加。string s1="hello",s2="world" //在s1和s2中都没有标点符号。字面值和string相加。

2024-03-09 15:56:03 193

原创 for(int i=0;str[i];i++)的含义

【代码】for(int i=0;str[i];i++)的含义。

2024-03-09 15:11:32 147

原创 取模(类型:加上后面一项,最后一项加上第一项)

给定字符串 a的倒数第二个字符的 ASCII 值加最后一个字符的 ASCII 值,得到 b 的倒数第二个字符;给定字符串 a 的第一个字符的 ASCII 值加第二个字符的 ASCII 值,得到 b 的第一个字符;给定字符串 a 的第二个字符的 ASCII 值加第三个字符的 ASCII 值,得到 b 的第二个字符;给定字符串 a 的最后一个字符的 ASCII 值加第一个字符的 ASCII 值,得到 b的最后一个字符。一般像有固定长度,依次向后的取,到最后面,再从第一个开始取,这种模型一般都可以用取余。

2024-03-09 11:06:06 197

原创 字符串注意事项以及sizeof,strlen,a.length,a.size

因为 cin 和 scanf读入字符串时遇到空格就停止了。读入一行到char 里面的话1.0 用fgets(名字,大小,stdin);2.0 getline(cin,定义的名字)读到string 里面3.0 用cin.getline想要从第几个开始在后面加减数字。

2024-03-07 22:23:24 1127

原创 偏移量技巧

经典例题蛇形矩阵输入两个整数 n 和 m,输出一个 n 行 m列的矩阵,将数字 11 到 n×m 按照回字蛇形填充至矩阵中。具体矩阵形式可参考样例。

2024-03-07 16:55:04 121

原创 用scanf输入常用的过滤后面也有输入但是有回车方法

【代码】用scanf输入常用的过滤后面也有输入但是有回车方法。

2024-03-06 22:17:53 275 1

原创 memst()以及memcpy()函数基本知识

如int型地址,要想赋值正确,value的值只能是-1或0,因为-1和0转化成二进制后每一位都是一样的,设int型占4个字节,则-1=0XFFFFFFFF, 0=0X00000000。地址str开始的n个字节赋值c,注意:是逐个字节赋值,str开始的n个字节中的每个字节都赋值为c。1.0 memst函数是cstring函数库中的函数。sizeof a 是以a数组的长度大小复制。输出结果是0000000000。memcpy()函数是复制。(1) 若str指向。(2) 若str指向。

2024-03-05 17:38:53 304 1

原创 计算2的N次方,高精度算法

【代码】计算2的N次方,高精度算法。

2024-03-05 16:32:20 159 1

原创 int sum与int sum=0的区别

这个取决于int sum的写法,如果是直接写int sum,这个表示先定义没有初始化,如果没有初始化,那么它里面就应该是一个随机的垃圾值。但是当我们多次执行的时候发现它不是一个随机的值,而是一个不变的值。即如果发现一个变量里面存放的是一个垃圾值,就认为没有给它赋初值,那么系统就会自动将一个很小的,如 –858993460 这个填充数字给放进去。如果是Int sun=0定义后初始化,那么这个这个值将不会改变,得到的就是初始化的sum=0,也就不会出现垃圾值,所以要使用必须初始化。

2024-03-04 09:45:18 225

原创 接口的基础知识

接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些。6)接口中的属性,只能是final的,而且是public staticfinal修饰。2)接口中所有的方法是public方法,接口中抽象方法,可以不用abstract修饰。jdk8.0后接口可以有静态方法,默认方法,也就是说接口中可以有方法的具体实现。3)一个普通类实现接口,就必须将该接口的所有方法都实现。8)一个接口不能继承其他的类,但是可以继承多个别的接口。7)接口中属性的访问形式:接口名.属性名。

2024-03-03 17:03:06 156 1

原创 C++orC语言中else if与if之间的区别

如果 `else if` 的条件为真,那么在 `else if` 后面的大括号 `{}` 中的代码块将被执行。在C++语言中,`if` 和 `else if` 是条件控制语句,用于根据条件的真假执行不同的代码块。- `else` 语句通常与 `if` 或 `else if` 结合使用,它提供了一个默认的代码块,当所有之前的条件都不为真时执行。- `if` 语句用于检查一个条件是否为真。在实际编程中,合理使用 `if`、`else if` 和 `else` 可以提高代码的可读性和效率。

2024-01-07 20:59:42 683 1

原创 方法的重写的基础知识

3.子类方法不能缩小父类的访问权限,public>protected>默认>private。2.子类方法的返回类型和父类方法返回类型一样,或者是父类返回类型的子类。1.子类的方法参数,方法名称,要和父类方法的参数,方法名称完全相同。比如父类返回类型是Object,子类返回类型是String。方法的重写也叫方法的覆盖,需要满足下面的条件。

2023-12-03 17:26:43 21 1

原创 super关键字

super的访问不限于直接父类,如果爷爷类和本来中有同名的成员,也可以使用super去访问爷爷类的成员;//提示:如果查找方法的过程中,找到了,但是不能访问,则报错,cannot access。1.调用父类的构造器的好处(分工明确,父类属性由父类初始化,子类的属性由子类初始化)(3)如果父类没有,则继续找父类的父类,整个规则就是这样,直到Object1类。2.当子类中和父类中的成员(属性和方法)重名时,为了访问父类的成员,必须通过。(2)如果没有,则找父类(如果有,并且可以调用,则调用)

2023-12-02 17:53:24 16

原创 继承的基础知识

继承可以解决代码复用,让我们编程更加靠近人类思维,当存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中 定义相同的属性和方法,所有的子类不需要重新定义相同的属性和方法,只需要通过extends来声明继承父类即可。3.当创建子类对象时,不管使用子类的哪个构造器,默认情况下总会去调用父类的无参构造器,如果父类没有提供无参构造器,则必须在子类的构造器中用super去指定使用父类的哪个构造器完成对父类的初始化工作,否则,编译不通过。2.子类必须调用父类的构造器,完成父类的初始化。

2023-11-30 22:19:59 21

原创 封装的基本知识

public 数据类型 getXxx(){//权限判断,Xxx某个属性。2)提供一个公共类(public)set方法,用于对属性判断赋值。3)提供一个公共的类(public)get方法,用于获取属性的值。1)将属性进行私有化private(不能直接修改属性)public void setXxx(类型 参数名){2.可以对数据进行验证,保证安全合理。//加入数据验证的业务逻辑。//Xxx表示某个属性。

2023-11-27 22:37:19 18

原创 修饰符的基础知识

受保护级别:用protected修饰,对子类和同一个包的类公开。私有级别:用private修饰,只有类本身可以访问,不对外公开。默认级别:没有修饰符号,向同一个包的类公开。公开级别:用public 修饰,对外公开。

2023-11-24 21:00:08 16 1

原创 包的基础知识

java.utul.* //util包,系统提供的工具包,使用Scanner。只能包含数字,字母,下划线,小圆点,但不能用数字开头,不能是关键字或保留字。java.lang.* //lang包是基本包,默认引入,不需要再引入。demo.class.exec1 //错误,含有关键字。//java.awt.*//是java的界面开发,GUI;com.sina.crm.user //用户模块。com.sina.crm.order //订单模块。com.sina.crm.utils//工具类。

2023-11-24 20:20:27 18 1

原创 this关键字

人相同,提供测试类TestPerson用于测试,名字和年龄完全一样,就返回true,否则返回false;定义Person类,里面有name,age属性,并提供compareTo比较方法,用于判断是否和另一个。5.this不能在类定义的外部使用,只能在类定义的方法中使用。1.this关键字可以用来访问本类的属性,方法,构造器。3.访问成员方法的语法:this.方法名(参数列表);小结:this哪个对象调用,就代表哪个对象。2.this用于区分当前类的属性和局部变量。4.访问构造器语法:this(参数列表);

2023-11-22 10:11:33 19 1

原创 构造方法/构造方法

比如:我们可以再给Person02类定义一个构造器,用来创建对象的时候,只指定人名,不需要指定年龄。6.如果没有定义构造器,系统会自动生成一个默认无参构造器(也叫默认构造器)7.一旦定义了构造器,默认构造器就被覆盖了,就不能再使用默认构造器了。是类的一种特殊方法,它的主要作用是完成对新对象的初始化。1.一个类可以定义多个不同的构造器,即构造器的重载;4.构造器时完成对象的初始化,并不是创建对象。参数列表和成员方法一样的规则。2.构造器名和类名要相同。构造器的修饰符可以默认。构造器的调用系统完成。

2023-11-20 19:37:55 13 1

原创 作用域的使用细节

3.属性生命周期较长,伴随着对象的创建而创建,伴随着对象的销毁而销毁。局部变量,生命周期较短,伴随着它的代码块的执行而创建,伴随着代码块的结束而销毁。4.全局变量可以不赋值,直接使用,因为有默认值,局部变量必须赋值后才能使用,因为没有默认值。2.在同一个作用域中,比如再同一个成员方法中,两个局部变量,不能重名;全局变量的/属性:可以被本类使用,或其他类使用(通过对象的调用)1.在Java编程中,主要的变量就是属性(成员变量)和局部变量。局部变量:也就是除了属性之外的其他变量,作用域定义他的代码块中。

2023-11-20 15:02:00 16 1

原创 方法重载及可变参数

1.基本概念:Java允许将同一个类多个同名同功能但参数个数不同的方法,封装成一个方法。2,参数列表:必须不同(参数类型或者个数或者顺序,至少有一样不同,参数名无要求)2.可变参数和普通类型的参数可以放在形参列表一起,但必须保证可变形参在后面。访问修饰符 返回类型 方法名(数据类型...形参名){}3,返回类型:无要求;(返回类型不同不能说明方法重载)3.一个形参列表里面只能有一个可变参数;1.可变参数的实参可以是数组。1,方法名:必须相同;

2023-11-18 16:59:37 21 1

原创 数组的递归

5.当一个方法执行执行完毕,或者遇到return,就会返回,遵守谁调用,就将结果返回给谁,同时当方法执行完毕或者返回时,该方法也就完毕。4.递归必须向退出递归条件逼近,否则无限递归,(出现stackOverflowerError,死龟)3.如果方法中使用引用类型的变量(如数组,对象),就会共享该引用类型的数据;1.执行一个方法时,就创建一个新的不受保护的独立空间;2.方法的局部变量是独立的,不会相互影响,比如n变量;

2023-11-17 21:08:27 38

原创 Java方法使用细节

5 方法定义时的参数为形参,方法调用时的参数为实际参数,简称实参,实参与形参的类型要一致或者兼容,个数,顺序,必须一致。方法体 里面写完成功能的具体语句,可以为输入,输出,变量,运算,,分支,循环,方法调用,但是里面。7基本数据类型的成员方法的传参机制:传递的是值(值拷贝),形参的改变不会影响实参。8引用类型传递的是地址(传递的也是值,但也是地址),可以通过形参来影响实参;4调用带参数的方法时,一定对应着参数列表传入相同类型或者兼容类型的参数。2.一个方法可以有多个参数,中间用逗号隔开。

2023-11-16 19:54:01 17

原创 比较三个数的大小(数学方法)

当a>=b时,max(a,b)=(a+b+a-b)/2=a;当a<b时,max(a,b)=(a+b+b-a)/2=b;比较三个数的大小公式原理。

2023-10-20 22:48:04 114 1

原创 C++初学第一天

萌新

2023-07-06 00:54:15 17 1

空空如也

空空如也

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

TA关注的人

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