首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
xixiran001ya
获赞
35
粉丝
1
关注
5
看过 TA
1
男
西南财经大学天府学院
2022
Java
IP属地:四川
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑xixiran001ya吗?
发布(13)
评论
刷题
xixiran001ya
关注TA,不错过内容更新
关注
2021-08-15 04:08
西南财经大学天府学院 Java
题解 | #合并两个排序的链表#
思路1.队列,通过先进先出的特性,可以将链表进行一个排序,然后再将链表串起来。2.比较创建新链表,遍历,一次遍历就创建新的链,谁小谁被串。 结果1.队列运行时间:19ms占用内存:10900KB 2.比较创建新链表运行时间:22ms占用内存:10788KB 代码1.队列 public ListNode Merge(ListNode list1,ListNode list2) { ArrayDeque<ListNode> queue = new ArrayDeque<>(); while (list1 != null || list2 !=...
0
点赞
评论
收藏
分享
2021-08-14 04:51
西南财经大学天府学院 Java
题解 | #反转链表#
思路1.递归,这道题没办法使用递归,因为没有链,只有节点,无法正确返回头节点2.双指针,很简单。pre指针与current指针,通过一个辅助指针就可以实现挪动一步就反转一个节点3.入栈法,也挺简单。 结果1.双指针法运行时间:15ms占用内存:11012KB 2.入栈法运行时间:15ms占用内存:10964KB 代码1.双指针 public class Solution { public ListNode ReverseList(ListNode head) { // 方法2-双指针法 ListNode preNodePoint = null; ...
0
点赞
评论
收藏
分享
2021-08-14 03:39
西南财经大学天府学院 Java
题解 | #链表中倒数最后k个结点#
思路经典双指针题目,leftPoint指向第一个节点,rightPoint指向第k个节点,左右指针相距k-1个身位,使用rightPoint去寻找尾节点,当寻找到尾节点时,那么leftPoint指向的节点便是倒数第k个节点了。 结果运行时间:16ms占用内存:10828KB 代码 public ListNode FindKthToTail (ListNode pHead, int k) { ListNode leftPoint = pHead; ListNode rightPoint = pHead; if (k <= 0) return...
0
点赞
评论
收藏
分享
2021-08-14 03:14
西南财经大学天府学院 Java
题解 | #调整数组顺序使奇数位于偶数前面#
思路M1=>入队-出队(队列法),一次遍历,将单数入队列A,将双数入队列B,然后再次遍历A出队完毕后再B出队,出队的元素对array重新赋值。 M2=> 双遍历,有序赋值,首先创建一个大小与array一样的数组,通过第一次遍历array,将arrya种的单数赋值给tempArray,再次遍历array将双数赋值给tempArray。 结果M1=>运行时间:392ms占用内存:25644KB M2=>运行时间:399ms占用内存:25056KB 代码 M1=> public int[] reOrderArray(int[] array) { Arr...
0
点赞
评论
收藏
分享
2021-08-14 02:34
西南财经大学天府学院 Java
题解 | #数值的整数次方#
思想很简单,没有思想,就一个问题就是在double计算的时候可能会出现精度问题,所有需要引入BigDecimal,并且以String的类型进行构造,不能通过double的形式进行构造。 结果运行时间:51ms占用内存:12916KB 代码 public double Power(double base, int exponent) { // 如果次方是负数,那么对base =》 1/base if (exponent < 0){ base = 1/base; exponent = exponent * -1...
0
点赞
评论
收藏
分享
2021-08-14 02:35
已编辑
西南财经大学天府学院 Java
题解 | #二进制中1的个数#
思路思路很简单,就是将十进制数转换成二进制数,存放到一个byte数组种,需要注意的是,负数最高位为1,正数最高位为0. 结果运行时间:15ms占用内存:10552KB 代码 public int NumberOf1(int n) { /*StringBuilder binaryNum = new StringBuilder(); int decNum = n; while (n > 0){ if (n % 2 == 0) binaryNum.insert(0,0); else binaryNu...
0
点赞
评论
收藏
分享
2021-08-14 02:35
已编辑
西南财经大学天府学院 Java
题解 | #跳台阶扩展问题#
思路思路:假设现在台阶数是n。假设第一步跳了1,那么剩下的n-1步的跳法数即为jumpFloorII(n-1)假设第一步跳了2,那么剩下的n-2步的跳法数即为jumpFloorII(n-2)假设第一步跳了3,那么剩下的n-2步的跳法数即为jumpFloorII(n-3). . . . .. . . . .假设第一步跳了n,那么剩下的n-2步的跳法数即为jumpFloorII(n-n)所以如果跳n阶台阶,那么总共跳法就是前n-1的跳法之和。不需要考虑什么先跳1步,然后再跳2步,再跳1步....然后再跳多少多少步,因为在递归的时候jumpFloorII(n-1)或jumpFloorII(n-2)也...
0
点赞
评论
收藏
分享
2021-08-14 02:36
已编辑
西南财经大学天府学院 Java
题解 | #斐波那契数列#
思路递归:利用斐波那契数列的特征第n项的值是第n-1项与第n-2项的和,计算第n项的值,那么就递归获取第n-1项与第n-2项,然后返回它们的和。 变量法:同样是利用斐波那契数列的特征,记变量:first,second,result,那么再引入一个辅助变量temp就可以实现往后挪动,直到计算出最终result。 结果 递归法运行时间:339ms占用内存:10640KB 变量法运行时间:18ms占用内存:10748KB 代码 递归法 public int Fibonacci(int n) { if (n <= 1){ return n; } ...
0
点赞
评论
收藏
分享
2021-08-14 02:36
已编辑
西南财经大学天府学院 Java
题解 | #旋转数组的最小数字#
思路二分查找,题目的意思就是查找当前数组中最小值。二分查找,左边界值一定小于或等于右边界值,所以此题的解法就是不断挪动左右双指针,直到右指针小于左指针时结束查找,此时的左指针指向的数便是数组最小值。 结果运行时间:71ms占用内存:14512KB 代码 public int minNumberInRotateArray(int [] array) { // 如果数组无元素,那么返回0 if (array.length <= 0) return 0; // 定义左边界 int left = 0; ...
0
点赞
评论
收藏
分享
2021-08-14 02:36
已编辑
西南财经大学天府学院 Java
题解 | #用两个栈实现队列#
思路用stack1顺序存储入栈数据,用stack2逆向存储入栈数据,push()的时候将数据存入stack1,pop()的时候从stack2中弹出,stack2的数据的由来与条件是,当stack2为空时,遍历stack1,并且依次出栈,入stack2栈;当stack2不为空,那么就直接pop()出一个stack2中的数据。 结果运行时间:13ms占用内存:11176KB 代码 public void push(int node) { stack1.push(node); } public int pop() { // 仅当stack2中...
0
点赞
评论
收藏
分享
2021-08-14 02:35
已编辑
西南财经大学天府学院 Java
题解 | #从尾到头打印链表#
思路 M1-栈栈的特点是先入后出,所以可以遍历节点并且入栈。然后挨个弹出栈顶节点,并将节点添加到List集合中进行返回。 M2-递归递归法的特点就是递归到尾节点,然后首先将尾节点添加到list中,然后将其list返回,然后通过引用传递的方式,每次递归都会返回一个list引用,就做到了从最后进行返回(例如:[3] -> [3,2] -> [3,2,1]),最终将最终引用返回给调用者,也就实现了反转打印。 结果M1->运行时间:47ms 占用内存:10560KBM2->运行时间:45ms 占用内存:10816KB 代码-M1 public ArrayList&l...
0
点赞
评论
收藏
分享
2021-08-14 02:35
已编辑
西南财经大学天府学院 Java
题解 | #替换空格#
思路思路就是遍历字符串,通过charAt获取当前字符,如果是空格,那么就用StringBuilder拼接%20,否者就直接拼接当前字符,因为String是不可变的,而StringBuilder是可变的,所以这样拼接可以大幅度减少内存的开支 结果运行时间:18ms占用内存:9772KB 代码 public String replaceSpace (String s) { if (s.length()<=0) return s; StringBuilder builder = new StringBuilder(); f...
0
点赞
评论
收藏
分享
2021-08-14 02:34
已编辑
西南财经大学天府学院 Java
题解 | #二维数组中的查找#
思路遍历数组,区间分析,如果当前一维数组的左右值区间中可能包含target目标值,那么进行二分查找,如果不包含,那么continue。其中需要注意,如果当前一维数组的最小数(第0个数)大于目标值target,那么直接宣布结束,返回false。 结果耗时:143ms占用内存:16900KB代码 public boolean Find(int target, int [][] array) { // 用于判断二维数组是否是空,[[]]即为空。 if (array.length <= 0 || array[0].length <= 0) ...
0
点赞
评论
收藏
分享
1
关注他的用户也关注了:
牛客网
牛客企业服务