自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Fibonacci数列

描述Fibonacci数列是这样定义的:F[0] = 0F[1] = 1for each i ≥ 2: F[i] = F[i-1] + F[i-2]因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, …,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibonacci数。输入描述:输入为一个正整数N(1 ≤ N

2021-06-18 09:21:40 79

原创 【剑指offer】把字符串转换成整数

题目:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0输入描述:输入一个字符串,包括数字字母符号,可以为空返回值描述:如果是合法的数值表达则返回该数字,否则返回0解题思路:将每一位得到的值, 乘以10,再加上下一位值,循环即可。难点:注意边界值。代码:public class Solution { public int StrToInt(String str) { char[] chs = str.toChar

2021-06-17 17:54:13 63

原创 二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。

题目:二货小易有一个W*H的网格盒子,网格的行编号为0 ~ H-1,网格的列编号为0 ~ W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根小易想知道最多可以放多少块蛋糕在网格盒子里。解析:本题目主要难度在于读懂题目。剖析一下题干:需要找到可以放蛋糕的格子的个数;反向思考,创建一个二维数组,只需要找到不能放蛋糕的格子

2021-06-16 11:22:40 357

原创 给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数

解题思路:将得到的十进制值 对 进制数 取模,余数值即为当前低进制的位的值。此时将十进制数除以进制数,重复模操作,直到十进制数为0,便得到接下来位的值。举例:10 转化为 2进制;先模:10 % 2 = 0 ——> 最低为为0;在除: 10 / 2 = 5;重复:5 % 2 = 1 ——> 第二位为1;5 / 2 = 2;重复:2 % 2 = 0 ——> 第三位为0;2 / 2 = 1;重复:1 % 2 = 1 ——> 第四位为1;1 / 2 = 0;import ja

2021-06-15 21:56:29 373

原创 数组中出现次数超过一半的数字

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。你可以假设数组是非空的,并且给定的数组总是存在多数元素。1<=数组长度<=50000解题思路:1.如果存在符合体条件的数据,则经过排序后,一定存在于数组中间。但涉及到快排sort,时间复杂度为O(NlogN)并非为最优解。太简单就不写代码了,初学者可以自己尝试写一下。解题思路:2.如果两个数字不相等,则消

2021-06-15 14:37:54 54

原创 读入一个字符串str,输出字符串str中的连续最长的数字串

题目:读入一个字符串str,输出字符串str中的连续最长的数字串解题思路:创建两个字符串,先将遍历得到的数字串(当遇到字母的时候,开始时比较)存入第一个字符串,然后与第二个字符串比较,如果比第二个字符串的长度长,就将第一个字符串的数据赋值给第二个字符串,然后将第一个字符串清空,重复上述操作,直到遍历结束。注意:当出现123abc123456这种情况的时候,需要再重新比较一下两个字符串的长度。代码:import java.util.*;public class Main{ public st

2021-06-04 15:46:30 884

原创 将一句话的单词进行倒置,标点不倒置。

题目:将一句话的单词进行倒置,标点不倒置。解题思路:写一个数组逆置方法,先将整个字符串数组逆置,再将每个单词逆置即可。代码:import java.util.*;public class Main{ //逆置方法 public static void reverse (char[] arrry,int start,int lost) { while(start < lost) { char tmp = arrry[start];

2021-06-02 20:20:24 434

原创 排序子序列

题目:牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。牛牛有一个长度为n的整数数组A,他现在有一个任务是把数组A分为若干段排序子序列,牛牛想知道他最少可以把这个数组分为几段排序子序列.如样例所示,牛牛可以把数组A划分为[1,2,3]和[2,2,1]两个排序子序列,至少需要划分为2个排序子序列,所以输出2解析:这道题主要难在,大伙儿搞不清 非递增和非递减的定义。以数组为例非递减就是a[i]<=a[i+1] ——> {1,1,2,3,3,4}递减

2021-06-01 21:53:57 76

原创 关于memmove的底层实现

关于memmove的底层实现主要问题解决思路代码演示主要问题memmove 主要是为了解决内存重叠问题。(内存重叠简单来说就是,以字符串为例,在进行字符串的复制的时候,在内存上可能会与自身发生重叠,进而导致无法达到预期效果)如上图所示,在复制过程中,由于原字符串的后半段发生重叠,无法进行有效的复制。解决思路如上图所示的,复制的地址 在原字符串的首地址之前的话,进行正常的复制即可达到目标效果。而复制的地址在原字符串的首地址之后得话 只要倒着赋值,就可以达到目标效果。也就是,只需要进行复制

2020-10-26 21:38:38 306

原创 开始

开始写自己的博客啦新人入坑,还请多多指教,打算从现在开始记录自己的学习日常。很快就要毕业了,抓紧这最后的 机会,创造一点什么东西来吧。

2020-08-07 23:38:37 86

空空如也

空空如也

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

TA关注的人

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