空中转体一周半
空中转体一周半
全部文章
题解
未归档(1)
归档
标签
去牛客网
登录
/
注册
空中转体一周半的博客
全部文章
/ 题解
(共80篇)
题解 | #字符串出现次数的TopK问题#
思路:Map记录字符串出现的次数,然后进行排序,最后截取前K个数据即可。 public class Solution { public String[][] topKstrings (String[] strings, int k) { Map<String,Intege...
Java
2022-04-21
1
331
题解 | #单词拆分(一)#
简单思路:采用递归,每次把匹配到的前缀给去掉,然后进入下一层次的递归。直到把s变成空串,说明能够组成该单词。否则不能组成该单词。 //该版本仅能通过牛客的测试案例,但仍需完善,比如当测试用例是 //"nowcoder",["no","now","coder"]时,则会返回错误的结果,原因是没有回溯。...
Java
2022-03-18
2
363
题解 | #最大值#
4行代码搞定:采用滑动窗口方法,每次截取k位字符,转换成数字,再比较最大的数字即可。 public class Solution { public int maxValue (String s, int k) { int res = 0; for(int i ...
Java
2022-03-18
1
302
题解 | #最长回文子序列#
这个题可以参考最长公共子序列。最长回文子序列可以通过构造两个相反的字符串求最长子序列的方式求出。采用动态规划,时间复杂度O(n^2)空间复杂度O(n^2)。进一步的,还能求出这个最长的子序列具体的结果。 public class Solution { public int longestPa...
Java
2022-03-18
2
528
题解 | #字典树的实现#
思路:题目要求出现的字母均为小写,那么可以创建一个PreTriee的类,其属性成员包括node:单词的下一个字母,isWorld:表示该前缀是否为单词,worldCount:表示该单词插入的数量,prefixCount:表示该前缀插入了多少次。要进行对字段树的插入删除以及查询操作,大体上代码和插入类...
Java
2022-03-14
2
475
题解 | #验证IP地址#
这个题解答方式多种多样。本题解的一种思路,把IP按分隔符分割成字符串数组,然后对数组的每个元素挨个验证是否符合规则就行。时间复杂度O(N)。 public class Solution { public String solve (String IP) { if(IP.end...
Java
2022-03-13
0
384
题解 | #压缩字符串(一)#
空间O(1)时间O(N)解法:只需用一个count记录上一个字符出现的次数即可,如果count=1则直接向结果追加字母,不加数字,如果count>1才追加出现的次数。 public class Solution { public String compressString (Strin...
Java
2022-03-12
2
365
题解 | #划分链表#
思路:把链表分成两个部分,左边是比目标x小的,断链即可,最后再连接起来。 public class Solution { public ListNode partition (ListNode head, int x) { ListNode left = new List...
Java
2022-03-11
1
331
题解 | #kmp算法#
建议背住,匹配的过程和求next的过程很相似。 public class Solution { public int kmp (String S, String T) { // write code here int count = 0; in...
Java
2022-03-09
2
528
题解 | #在两个长度相等的排序数组中找到上中位数#
二分删除头部法:每次删除两个数组头部中长度为k/2,(k为中位数索引),直到k=1时,返回较小元素即可。 public class Solution { /** * find median in two sorted array * @param arr1 int整型...
Java
2022-03-08
1
380
首页
上一页
1
2
3
4
5
6
7
8
下一页
末页