- 博客(38)
- 收藏
- 关注
原创 杨辉三角-原理方法的由来
杨辉三角的原来(来自百度)北宋人贾宪约1050年首先使用”贾宪三角”进行高次开方运算, 南宋数学家杨辉在《详解九章算法》(1261年)中,保存了一张宝贵图形——“开方作法本源”图。根据杨辉自注说,这个图“出《释锁算术》,贾宪用此术”。宋元时代的数学家求数字高次方程正根的方法叫做“开方“,又叫做“释锁”。很可能在杨辉之前,已经有一些数学家采用此图来研究开方术,其中以贾宪为最早。因此,我们应该把这个具有世界意义的重大贡献归功于贾宪和杨辉二人。贾宪采用得最早,但贾宪的著作可惜早已失传,全靠杨辉在《详解九章算.
2022-04-06 18:09:32 2316
原创 在主函数中args代表的含义,它的作用是什么
在一个主函数里面的命名方式,如果输入一个main,然后再ctrl + /,它会自动生成后面的东西package Basic;public class Test { public static void main(String[] args) { }}那这段代码块中的args里面中有东西吗?package Basic;public class Test { public static void main (String[] args) { System.out.p
2022-03-30 20:06:33 2707
原创 foreach循环之迭代器循环
在Java功能中有一种很强的循环结构,可以用来处理数组(或者其它元素的集合)中的每一个元素它的语法结构for(variable:collection)statement它定义的是暂存集合中的每一个数组,并执行相应的语句。collection这一聚合表达式必须是一个数组或者是一个实现iterable接口的类对象(例如:Array List·)举个例子for(int element:a)System.out.println(element);...
2022-03-27 17:19:14 388
原创 leetCode59--螺旋矩阵
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。在这道题,第一个步骤,先找规律这道题的规律,看第一遍的时候不知道什么规律第二次看的时候联想到的n次进行想象才得到的具体实现过程 int[] dx = {0, 1, 0, -1}, dy = {1, 0, -1, 0}; //方向偏移数组 int x = 0, y = 0; //当前位置 for(int i = .
2022-03-26 21:18:46 282
原创 leetCode48-旋转图像
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。我用一张图来描述一下这个过程第一步实现沿对角线进行翻转 int n = matrix.length; for(int i = 0;i < n;i ++) for(int j = 0;j < i;j ++){
2022-03-26 20:25:21 333
原创 throw和throws的区别
在Java中有一个错误处理机制,throws抛出异常,这个经常可以见到,但是throw好像很少见,什么情况下,会抛出异常调用了一个抛出检查型异常的方法,如,FileInputStream 检测到一个错误,并且利用throw语句抛出异常 程序出现错误,例如,a[-1]会抛出2一个非检测型异常, Java虚拟机或运行时库出现内部错误但是throw和throws都是抛出异常,它们究竟有什么区别。throwthrow是语句抛出一个异常语法:throw(异常对象);如:thro
2022-03-22 15:38:15 265
原创 杨辉三角的简单算法(原理方法)
这一道题看起来很迷,怎么说呢,因为最开始,我的思路最开始是记录每一个出现两次的数字,把它记录下来,如果有重复的将会被删除,如果没有就不会变化。感觉有点儿复杂,而这道题的难度定义为简单,所以我想它有正确的答案,然后我去看了答案,它的解题思路是用异或运算异或运算1. a ⊕ a = 02. a ⊕ b = b ⊕ a3. a ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c;4. d = a ⊕ b ⊕ c 可以推出 a = d ⊕ b
2022-03-19 19:20:26 811
原创 数据结构入门
数据结构入门第一天内容:第一题,存在重复元素这一道题的思路是通过前一个的length()和它用hashSet存储之后的length()的结果进行对比,如果相等,说明了一件事情,这个里面不包含重复元素,如果不相等说明,有重复元素具体代码如下:class Solution { public boolean containsDuplicate(int[] nums) {//分析题目://首先如果全部不相同,返回false//而只要出现了一个值拥有两个或两个以上返回true.
2022-03-14 18:36:09 1588
原创 Java中的&和&&的区别
&和&&的区别前言:&的用法一般是在位运算的时候才会出现&&的用法是进行关系运算符的时候出现在写一些判断条件的时候经常会遇到一些东西,比如在进行条件判断的时候if(A&&B){}a&b但是如果用一个&,会是什么意思呢代码测试:public class Test { /** * 测试&和&&的区别 * @param args */ public
2022-03-08 19:54:24 147
原创 力扣试题-7.整数反转
太久没有更新了,现在开学了,开始更新了;给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。遇到这一道题:我一开始就去动手去做,导致一件事情,编译出错,因为溢出问题因为这道题有一个很关键的一个东西,环境不允许存储64位整数分析一下,为什么会有溢出问题;我百度了一下:计算机中,当要表示的数据超出计算机所使用
2022-03-01 21:12:36 108
原创 Stack
stack是什么Stack类代表最先进先出(LIFO)堆栈的对象。 它扩展了类别Vector与五个操作,允许一个向量被视为堆栈。 设置在通常的push和pop操作,以及作为一种方法来peek在堆栈,以测试堆栈是否为empty的方法,以及向search在栈中的项目的方法在顶部项目和发现多远它是从顶部。当首次创建堆栈时,它不包含任何项目。Deque接口及其实现提供了更完整和一致的LIFO堆栈操作集,这些接口应优先于此类。 例如: Deque<Integer> stack = n
2021-11-30 19:57:22 133
原创 接口里的方法
接口里的方法接口里的方法我们通常所说的接口的作用是用于定义一套标准、约束、规范等,接口中的方法只声明方法的签名,不提供相应的方法体,方法体由对应的实现类去实现。在JDK1.8中打破了这样的认识,接口中的方法可以有方法体,但需要关键字static或者default来修饰,使用static来修饰的称之为静态方法,静态方法通过接口名来调用,使用default来修饰的称之为默认方法,默认方法通过实例对象来调用。做个实验,分别用1.7和1.8版本的jdk进行实验来进行判断接口中的方法体jdk1..
2021-11-23 23:11:29 1225
原创 Hash冲突
什么是Hash冲突要把一个对象插入散列表,可是发现这个对象应该插入散列表的位置已经存放了其他的对象。 冲突的原因,两个不同的对象(调用equals()方法,返回false),hashcode值相同,就造成了冲突。...
2021-11-23 22:16:57 184
原创 如何用Java写先序,后序,中序
举个例子如下图所所画的二叉树为例子它的先序遍历的结果为:A BCD EFGHI 先根后左最后右 它的中序遍历的结果为:BDC A EHGIF 先左后根最后右它的后序遍历的结果为:DCB HIGFE A 先左后根最后右那如何使用Java语言来实现二叉树的先序中序后序遍历呢?先讲一下我的思路:首先二叉树里面得有数据(根节点)。而且每个数据(根节点)应该都有左节点和右节点,而这个数据得左节点可能就会是下一个数得根节点。所以,我们得首先创建一个对象,这...
2021-11-16 19:49:36 1159
原创 封装类之为什么这些数据的地址相等,而不在这个范围的数据就不相等了呢?
在Java中,“==”有一个特性,举个例子:如果==比较的是基本数据类型,那么比较的是两个基本数据类型的值是否相等;如果==是比较的两个对象,那么比较的是两个对象的引用,也就是两个对象是否为同一个对象,并不是比较的对象的内容那什么时候是对象,在Java数中是这样说的,要创建新的对象,需要使用new这个关键字和想要它创建对象的类名(比较的一方使用了new,就证明是比较的是对象,我是这样认为的,有错希望更正一下)Integer封装类,Integer封装类是..
2021-11-09 22:08:02 318
原创 什么是递归
递归是指在函数的定义中又调用自身的方法。若p函数定义又调用p函数,称之为直接递归;若p函数定义中调用q函数,而q函数定义中又调用p函数,称之为间接递归。任何间接递归都可以等价地转化为直接递归如果一个递归过程或递归函数中的递归调用语句是最后一条执行语句,则称这种递归调用为尾递归。eg:Fibonacci斐波拉契数列public static int F(int x) { if(x==1) { return 1; } else { return F(x-1)*x;
2021-10-29 15:35:06 897
原创 值传递和引用传递的区别
值传递概念:通常是对,基本数据类型来讲的在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。public static void main(String[] args) { //值传递和引用传递 //值传递 int num=10; System.out.println(num); pa(num); System.out.println(num); } public static void pa(int j) {
2021-10-26 17:29:40 117
原创 Float的取值范围及存储结构
Float的取值范围写文章-CSDN博客https://mp.csdn.net/mp_blog/creation/editor/120832448Float的存储结构浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分。数符占1位二进制,表示数的正负。指数符占1位二进制,表示指数的正负。尾数表示浮点数有效数字,0.xxxxxxx,但不存开头的0和点指数存指数的有效数字。符号位(1bit) 指数位(8bit) 尾数位(23bit)
2021-10-23 22:53:31 3063
原创 算法之快速排序
快速排序算法是分治法的一种什么是分治法(11条消息) 分治法的特征和步骤_我还能再写一年的博客-CSDN博客快速排序的解法步骤给定十个数字,2,5,1,7,10,6,9,4,3,8进行排序第一次一般来说,是以第一个数为基准,2 5 1 7 10 6 9 4 3 8 ->1 2 5 7 10 6 9 4 3 8 以2为基准,分为两个,一个是比..
2021-10-22 18:28:21 131
原创 分治法的特征和步骤
分治法采用递归的思想,把大问题分解成n个子问题,通过子问题的解求出大问题的解。特征1,该问题的规模缩小到一定的程度就可以解决2,该问题可以分解为若干个规模较小的相似问题3,利用该问题分解出的子问题的解可以合并为该问题的解4,该问题所分解出的各个子问题是相互独立的,即子问题不包含公共的子问题。求解步骤1,分解成若干个子问题2,求解子问题3,合并子问题...
2021-10-22 16:48:47 1063
原创 *的二种表达方式
问题:编写代码输出以下图形 * * * * * * ** * *看起来是不是很简单直接暴力法破解,public static void main(String[] args){//暴力 System.out.println(" "+"*");//前面四个空格加上一个* System.out.println(" "+"*"+" "+"*");//前面三个空格加上一个*再空一个再加...
2021-10-22 16:12:16 138
原创 论java的char类型为什么比C的char类型多一个字节
C语言ASCALL码的范围是0-127.刚好是在一个7位的二进制编码,所以它是用的一个字节。JAVA语言java语言的所有字符都是用的Unicode编码,Unicode采用的是16位的编码方式,所以它是用的2个字节
2021-10-22 15:16:21 392
原创 浮点型什么时候用Float,什么时候用Double
已知Float和double都是针对于浮点型设置的,但是一个是单精度一个是双精度。取值范围区别类型 大小位数 描述 取值范围 Float 32 单精度 -3.40E+38~3.40E+38 Double 64 双精度 -1.79E+308~-1.79E+308 用法区别使用Float f=0.3f; 就是为Float变量f赋初值为0.3 。为什么后面要加f;因为默认的都是用的Double;...
2021-10-21 19:23:08 9484 2
原创 论Float类型和long类型那个取值范围更大
Float和Long的类型区别Float类型Float类型是一个浮点型的数据类型,同时也是单精度类型Long类型Long类型是一个整型的数据类型。表格具体区别类型名 数据类型 描述 大小/位数 取值范围 Float 浮点型 单精度 32 3.4E-038---------3.4E+038(书上) Long 整型 64 -9223372036854775808----922337203685477580.
2021-10-18 22:37:48 1505
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人