xixiran001ya
xixiran001ya
全部文章
分类
题解(13)
归档
标签
去牛客网
登录
/
注册
xixiran001ya
知足而上进,沉稳后爱人。
全部文章
(共13篇)
题解 | #合并两个排序的链表#
思路1.队列,通过先进先出的特性,可以将链表进行一个排序,然后再将链表串起来。2.比较创建新链表,遍历,一次遍历就创建新的链,谁小谁被串。 结果1.队列运行时间:19ms占用内存:10900KB 2.比较创建新链表运行时间:22ms占用内存:10788KB 代码1.队列 public ListNod...
java
2021-08-15
0
456
题解 | #反转链表#
思路1.递归,这道题没办法使用递归,因为没有链,只有节点,无法正确返回头节点2.双指针,很简单。pre指针与current指针,通过一个辅助指针就可以实现挪动一步就反转一个节点3.入栈法,也挺简单。 结果1.双指针法运行时间:15ms占用内存:11012KB 2.入栈法运行时间:15ms占用内存:1...
java
2021-08-14
1
651
题解 | #链表中倒数最后k个结点#
思路经典双指针题目,leftPoint指向第一个节点,rightPoint指向第k个节点,左右指针相距k-1个身位,使用rightPoint去寻找尾节点,当寻找到尾节点时,那么leftPoint指向的节点便是倒数第k个节点了。 结果运行时间:16ms占用内存:10828KB 代码 public L...
java
2021-08-14
0
454
题解 | #调整数组顺序使奇数位于偶数前面#
思路M1=>入队-出队(队列法),一次遍历,将单数入队列A,将双数入队列B,然后再次遍历A出队完毕后再B出队,出队的元素对array重新赋值。 M2=> 双遍历,有序赋值,首先创建一个大小与array一样的数组,通过第一次遍历array,将arrya种的单数赋值给tempArray,再次...
java
2021-08-14
0
451
题解 | #数值的整数次方#
思想很简单,没有思想,就一个问题就是在double计算的时候可能会出现精度问题,所有需要引入BigDecimal,并且以String的类型进行构造,不能通过double的形式进行构造。 结果运行时间:51ms占用内存:12916KB 代码 public double Power(double ba...
java
2021-08-14
0
440
题解 | #二进制中1的个数#
思路思路很简单,就是将十进制数转换成二进制数,存放到一个byte数组种,需要注意的是,负数最高位为1,正数最高位为0. 结果运行时间:15ms占用内存:10552KB 代码 public int NumberOf1(int n) { /*StringBuilder binaryNum...
java
2021-08-14
1
446
题解 | #跳台阶扩展问题#
思路思路:假设现在台阶数是n。假设第一步跳了1,那么剩下的n-1步的跳法数即为jumpFloorII(n-1)假设第一步跳了2,那么剩下的n-2步的跳法数即为jumpFloorII(n-2)假设第一步跳了3,那么剩下的n-2步的跳法数即为jumpFloorII(n-3). . . . .. . . ...
java
2021-08-13
3
452
题解 | #斐波那契数列#
思路递归:利用斐波那契数列的特征第n项的值是第n-1项与第n-2项的和,计算第n项的值,那么就递归获取第n-1项与第n-2项,然后返回它们的和。 变量法:同样是利用斐波那契数列的特征,记变量:first,second,result,那么再引入一个辅助变量temp就可以实现往后挪动,直到计算出最终re...
java
2021-08-13
1
443
题解 | #旋转数组的最小数字#
思路二分查找,题目的意思就是查找当前数组中最小值。二分查找,左边界值一定小于或等于右边界值,所以此题的解法就是不断挪动左右双指针,直到右指针小于左指针时结束查找,此时的左指针指向的数便是数组最小值。 结果运行时间:71ms占用内存:14512KB 代码 public int minNumberIn...
java
2021-08-13
16
1093
题解 | #用两个栈实现队列#
思路用stack1顺序存储入栈数据,用stack2逆向存储入栈数据,push()的时候将数据存入stack1,pop()的时候从stack2中弹出,stack2的数据的由来与条件是,当stack2为空时,遍历stack1,并且依次出栈,入stack2栈;当stack2不为空,那么就直接pop()出一...
java
2021-08-13
3
414
首页
上一页
1
2
下一页
末页