梦否
梦否
全部文章
分类
题解(15)
归档
标签
去牛客网
登录
/
注册
梦否的博客
全部文章
(共15篇)
题解 | #大数加法#
从个位一次相加即可。 注意进位 最终我们用StringBuffer来存储,需要最后再判断一次进位,并将结果翻转。 public String solve (String s, String t) { // write code here int lenS = s.length(), ...
2021-08-30
0
295
题解 | #删除链表的倒数第n个节点#
双指针 pre靠前,qtr靠后。当qtr到末尾,pre的下一个元素即为需要删除元素。 为了保证操作统一,需要加入一个虚拟节点。 public ListNode removeNthFromEnd (ListNode head, int n) { // write code here L...
2021-08-30
0
311
题解 | #括号序列#
比较好理解的方式,直观按照题意结题: public boolean isValid (String s) { // write code here // 奇数一定不合法 int len = s.length(); if((len & 1) == 1) retu...
2021-08-30
0
337
题解 | #子数组的最大累加和问题#
可以进行累加判断,比如:1, -2, 3, 5, -2, 6, -1对于第1个数,累加最大就是自己,1;对于第2个数,累加最大为1+-2,即-1;对于第3个数,累加最大就是自己,3;对于第4个数,累加最大累加最大为3+5;对于第5个数,累加最大。。。 故而可以使用动态规划解决,判断自己和上轮最大+自...
2021-08-28
0
329
题解 | #链表中的节点每k个一组翻转#
对于最后一个K的长度我们不需要进行翻转,故而每次可以判断一下当前的是否满足长度为K。 满足,就使用头插法来进行链表翻转。对于最后一个如果不满足长度为K,我们直接链接到最后即可。 代码如下: public ListNode reverseKGroup (ListNode head, int k) { ...
2021-08-28
0
241
题解 | #设计getMin功能的栈#
题目确实读了半天,最后才知道原来getMin是不会出栈的。也就是判断每个元素的第一个元素是什么操作,如果是出栈或者getMin,就直接做对应的操作,就不需要第二个元素。 public class Solution { /** * return a array which inclu...
2021-06-22
0
381
题解 | #买卖股票的最好时机#
记录最大的差值即可。如果当前值-买入的值小于0,说明还有最低价可以买入,故而可以选择此时的值作为新的买入值。否则就计算差值大小,计算差值保留最大即可。 public int maxProfit (int[] prices) { // write code here int max_p...
2021-06-21
0
302
题解 | #链表中环的入口结点#
使用辅组数组 import java.util.*; public class Solution { public ListNode EntryNodeOfLoop(ListNode pHead) { Set<ListNode> vector = new HashSet&l...
2021-06-21
0
365
题解 | #在旋转过的有序数组中寻找目标值#
直接遍历: public int search (int[] nums, int target) { for (int i=0;i<nums.length;i++){ if(target == nums[i]) return i; } return -1...
2021-06-18
0
379
题解 | #数组中相加和为0的三元组#
抄了下大佬的代码,这里改用了快排。且这里想到两数之和貌似也可以使用类似二分查找来做,就做下leetcode的两数之和。但是两个数之和是并返回它们的数组下标。故而不能先排序,除非是返回值本身。故而使用查找即可。 ```javapublic ArrayList<arraylist<integ...
2021-06-17
0
357
首页
上一页
1
2
下一页
末页