- 博客(26)
- 收藏
- 关注
原创 斐波那契数列-牛客(Java)
说明:根据斐波那契数列的定义可知,fib(1) = 1, fib(2) = 1,fib(3) = fib(3 - 1) + fib(3 - 2) = 2,fib(4) = fib(4 - 1) + fib(4 - 2) = 3,所以答案为3。斐波那契数列是一个满足 fib(x)=1,x = 1,2;fib(x)=fib(x - 1) + fib(x - 2) , x > 2 的数列。要求:空间复杂度 O(1),时间复杂度O(n) ,本题也有时间复杂度O(logn) 的解法。数据范围:1≤n≤40。
2023-05-03 20:34:35 245
原创 重建二叉树-牛客(Java)
例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。输入:[1,2,4,7,3,5,6,8],[4,7,2,1,5,3,8,6]输入:[1,2,3,4,5,6,7],[3,2,4,1,6,5,7]返回值:{1,2,3,4,#,5,6,#,7,#,#,#,8}3.vin出现的元素均出现在 pre里。返回值:{1,2,5,3,4,6,7}
2023-05-02 15:41:00 158
原创 替换空格-牛客(Java)
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。这道题我们用两种方法来做。
2023-05-02 13:38:34 1001
原创 数组中出现次数超过一半的数字-牛客(Java)
例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。数据范围:n≤50000,数组中元素的值 0≤≤val≤10000。要求:空间复杂度:O(1),时间复杂度 O(n)输入:[1,2,3,2,2,2,5,4,2]输入:[3,3,3,3,2,2,2]
2023-04-23 15:13:34 196
原创 调整数组排序使奇数位于偶数前面-牛客(Java)
题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。如果不知道插入排序怎么写的可以去看我以前写过的博客链接放这里啦。
2023-04-23 15:10:32 101
原创 旋转数组的最小数字-牛客(Java)
有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这样一个旋转数组,求数组中的最小值。数据范围:1≤n≤10000,数组中任意元素的值: 0≤val≤10000。要求:空间复杂度:O(1) ,时间复杂度:O(logn)输入:[3,100,200,3]输入:[3,4,5,1,2]
2023-04-23 15:06:29 190
原创 二维数组中的查找-牛客(Java)
在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。输入:7,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]数据范围:矩阵的长宽满足 0≤n,m≤500 , 矩阵中的值满足 0≤val≤10^9。进阶:空间复杂度 O(1) ,时间复杂度 O(n+m)说明: 不存在1,返回false。输入:1,[[2]]
2023-04-23 15:03:53 90
原创 隐藏个人信息-力扣(Java)
前面的部分不论有几位,最后的结果都是用第一个字母开头,最后一个字母结尾,中间用 ‘*****’ 来填充,并且字母要都是小写。第一个字母容易找到,但是最后一个字母不好找,这里我们使用的方法是, ‘@’ 符号的前一个字母就是前面部分的最后一个字母。找到第一个字母就将其转换为小写添加到 sb 中,随后将 ‘*****’ 添加到 sb 中,然后将最后一个字母和符号 ‘@’ 也添加到 sb 中。s 是一个电话号码。后面的部分很简单,只需要从 ‘@’ 的后一个字母开始循环,将其都变为小写并且添加到 sb 中即可。
2023-04-17 21:08:50 317
原创 Java——抽象类与接口
本文主要介绍关于抽象类和接口的相关知识,此外还有 Object 类中toString 方法和 equals 方法的简单介绍
2023-04-08 13:37:48 501
原创 如何利用命令行提交代码到Gitee
其实在idea中添加、提交文件,和在普通文件夹中添加、提交文件的操作是一样的,只是用idea打开了文件夹而已,要实在要说区别,那就是在idea中打开的话,会有很多自带的.xml文件。在码云创建好仓库后的页面,点击红色方框中的按钮就可以复制该仓库的地址,地址有两种,一种是HTTPS,一种是SSH,在这里我选择的是SSH方式的地址。6.继续步骤2,返回如下结果 ,会有一个警告,告诉我们这是一个空的仓库,但是没有关系,因为我们本身创建的就是一个空仓库。这时显示出来的就是公钥,至于私钥是存储在我们自己的电脑上的。
2023-04-02 23:16:49 1230
原创 Java——继承与多态
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。继承允许程序员在保持原有类特性的基础上进行扩展,增加新功能。继承主要解决的问题是共性的抽取,实现代码复用多态通俗的来讲,就是多种形态,具体来说就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。就比如,同样都是打印,彩色打印机打印出来的就是彩色的,黑白打印机打印出来的就是黑白的;同样是吃饭,有的人容易吃胖,但是有的人就不容易吃胖。
2023-03-17 13:34:43 113
原创 Java——数组的定义与使用
数组:可以看作是相同类型元素的一个集合。在内存中是一段连续的空间。数组中存放的元素其类型相同数组的空间是连在一起的一个元素挨着一个元素,中间没有空隙每个空间都有自己的编号,起始位置的编号为0,即数组的下标。
2023-03-12 19:10:41 142
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人