
leetcode
Zequal
这个作者很懒,什么都没留下…
展开
-
leecode第645题——错误的集合
numss数组获取重复数字。数据num[i]减去下标i的总和为错误数字与重复数据的差,即repeatNum - count为错误数字。class Solution { public int[] findErrorNums(int[] nums) { int numss[] = new int[nums.length+1]; int repeatNum = -1; int count = 0; for(int i = 0; i <原创 2021-07-04 16:10:35 · 90 阅读 · 0 评论 -
leetcode第451题——根据字符出现频率排序
转为数组,排序后,将相同的字符数组转为字符串放入list;排序list并遍历输出。class Solution { public static String frequencySort(String s) { char[] chars = s.toCharArray(); Arrays.sort(chars); int start = 0; char now = chars[0]; ArrayList<Stri原创 2021-07-03 21:21:03 · 86 阅读 · 0 评论 -
leetcode第二题——两数相加(java版本 内存与时间优化)
不多说先看结果:说一下大致思路,写一个递归的方法addTwoNumbers(ListNode l1, ListNode l2, boolean needJ),need表示下一次的操作需要进一位。递归结束点: 当传入的l1、l2都为空时返回。当前resNode的值:两个链表当前节点的值相加后取10的余数(res % 10)当前resNode的next指针:再次调用addTwoNumbers(ListNode l1, ListNode l2, boolean needJ)方法获得,传入的参数为当前l1原创 2021-06-30 12:54:42 · 253 阅读 · 0 评论 -
leetcode第一题——两数之和(java版本优化内存)
试了很多种方式,不是时间不行就是内存不行,最终定格在如下版本。具体思路是:比较当前的数与被target减去的数之间的大小,将最大的数作为键,当前坐标为值存入。如:当前nums[j]=1,target是8,则往map中存入(7,j)如果已经存在了,就返回之前存入的坐标与当前的坐标(putIfAbsent不会替换值)。如:当前nums[k] = 7,此时再putIfAbsent的时候就不为空了,且map中存的是j值(也就是之前的坐标),返回[j,k]即可。 public int[] twoSum(i原创 2021-06-29 17:54:37 · 267 阅读 · 0 评论