自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣496.下一个更大的元素I

力扣这题目我也是用了两种解法来解题。第一种解法:因为该题其实可以看做是从后往前去找比目标元素更大的数组,而Stack后入先出的特性就可以很方便的处理这个问题。具体是用两个Stack,先用一个Stack1存储nums2数组中的元素,之后拿num1数组中的元素来nums2中查找结果,再定义一个对象来记录每次找到比num1中指定元素更大的元素。但是每次都应该从nums2从头往后找,所以创建了另一个Stack2来装从Stack1pop出来的元素,每次查...

2022-04-28 22:32:13 135

原创 力扣217.存在重复元素解题思路

力扣这题是一题简单题,但是把它记录下来的原因是,它反映了我这一个月的解题思路的变化。一开始,我用的是一个相对暴力的解法,先将数组排序,然后遍历数组,让数组中的每个数字与其后一位进行比较,如果相同则就证明了该数组里有重复的元素。代码:class Solution { public boolean containsDuplicate(int[] nums) { Arrays.sort(nums); int s = nums.l...

2022-04-28 22:12:37 147

原创 基于二叉树结构实现元素排序处理的排序器

package com.bjsxt;/** * @Author:Dai * @Date:2022/4/25 基于二叉树结构实现元素排序处理的排序器 */public class BinaryTreeSort<E extends Integer> { /** * 定义结点类 */ class Node<E extends Integer> { private E item;//存放元素 private N.

2022-04-25 21:50:21 73

原创 4.24力扣每日一题--868.二进制间距思路

力扣。该题目我的思路主要是用双指针换一种思路,首先先用Integer.toBinaryString该方法可以将数字转换为二进制的字符串。然后再用快指针去扫描该字符串,当快指针指定的字符串位置是'1'时,就将慢指针定位到该处,然后让快指针继续扫描,直到扫描到下一个'1'的位置时,先获取两个指针的间距,判断距离,之后再让快指针继续扫描。代码:class Solution { public int binaryGap(int n) { String str = I

2022-04-24 22:12:18 198

原创 双向链表实现元素存取容器

1.基于链表结构存取元素的方法API定义package com.bjsxt;/** * @Author:Dai * @Date:2022/4/23 基于链表结构存取元素的方法API定义 */public interface MyList<E> { void add(E element); E get(int index); int size(); E remove(int index);}2.基于双向链表实现元素存取容器p

2022-04-24 22:02:32 460

原创 单向链表实现元素存取容器

基于链表结构存取元素的方法API定义:package com.bjsxt;/** * @Author:Dai * @Date:2022/4/23 基于链表结构存取元素的方法API定义 */public interface MyList<E> { void add(E element); E get(int index); int size(); E remove(int index);}基于单向链表实现元素存取的容器:pa

2022-04-23 22:17:01 698

原创 创建一个栈容器类

package com.bjsxt;import java.util.Arrays;import java.util.EmptyStackException;/** * @Author:Dai * @Date:2022/4/23 自定义栈容器 */public class MyStack<E> { private Object[] arr; //存放元素的物理结构 private int stakeLength = 4; //数组的默认长度 .

2022-04-23 20:16:37 63

原创 力扣1913. 两个数对之间的最大乘积差

力扣:本题不用考虑负数的情况,还是一题十分简单的题目的,只需要将数组进行排序,然后用后两位乘积减去前两位乘积即可得到最大乘积差。所以一开始我直接用sort进行排序:class Solution { public int maxProductDifference(int[] nums) { Arrays.sort(nums); return nums[nums.length-1]*nums[nums.length-2] - nums[0]*nums[1];

2022-04-20 23:29:52 82

原创 力扣 575.分糖果做题思路

今天遇到力扣的分糖果一题,虽然是个简单题,但是正好今天学习了HashSet,能够作为用来解决该题目的好办法。这题其实就是对糖果的种类以及能吃的糖果数量来作对比,所以首先用HashSet将糖果进行存储,而HashSet无法存储重复的元素,所以能够直接得出糖果的种类,之后再用糖果种类和能够吃的糖果数量做对比即可。public int distributeCandies(int[] candyType) { Set<Integer> set = new HashSet<

2022-04-18 23:25:30 140

原创 力扣 412.Fizz Buzz题解

今天刚学完容器List,就去刷力扣的题目,正好遇到了这题关于集合的应用的题目力扣看完题目,我的思路其实就很简单,运用list集合,然后用暴力解法,将集合循环一遍:如果i是3的倍数,则将 "Fizz"插入到a[i]; 如果i是 5的倍数,则将 "Buzz"插入到a[i]; 如果是3和5的倍数,就将"FizzBuzz"插入到a[i]; 否则,直接将i转换为字符串的形式插入到a[i]中class Solution { public List<String> fi...

2022-04-16 17:15:28 234

原创 面向对象学习

最近老是被面向对象和面向过程的区别这个问题所困扰,发现自己确实没意识到这两个的区别,自己真的是不了解什么是面向过程,所以就去网上查了一下,这里自己大概记录一下面向过程和面向对象的区别吧:首先,面向对象和面向过程都是对软件分析、设计以及开发的一种思想,各有各的利弊,面向过程适合简单、不需要协作的事务,重点关注如何执行,面向过程本身的性能比较高,因为它不需要去创建类,类的调用是需要进行实例化的,而实例化的这个开销比较大,也比较消耗资源,所以当程序对于性能的要求是第一考虑的因素时,就可以选择使用面向过程的编程

2022-04-15 23:31:26 190

原创 第一篇博客

今天是写博客的第一天,不知道写点什么好,就总结一下今天学了什么以及给自己之后的日子顶个目标吧。今天第一次去学习了什么是时间复杂度以及空间复杂度,感觉还是一头雾水,这到底要怎么算啊....感觉这代码随想录的讲解蛮细致的,顺手在这边存储一下网址吧。看完对于时间复杂度以及空间复杂度的讲解之后,感觉自己行了,就在牛客上遇到了一题关于斐波那契数列的题目,自己本能的就想到用递归的方法去解决:public class Solution { public int Fibonacci(int n) {

2022-04-15 23:01:55 36

空空如也

空空如也

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

TA关注的人

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