随笔分类 - 算法
摘要:package com.alipay.sofa.isle.sample; class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } public class Solution { public static ListN...
阅读全文
摘要:package com.tianjunwei.rpc; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * 全排列 */ public class A { public static void main(String[] args) { In...
阅读全文
摘要:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 示例 2: 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以“引用”方
阅读全文
摘要:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。 分析 : 回溯法,通过了,效率不高
阅读全文
摘要:给定一个字符串,找出不含有重复字符的最长子串的长度。 示例: 给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3。 给定 "bbbbb" ,最长的子串就是 "b" ,长度是1。 给定 "pwwkew" ,最长子串是 "wke" ,长度是3。请注意答案必须是一个子串,
阅读全文
摘要:public class MergeSort { private static void sort(int[] a, int i, int length, int[] b) { if (i a[k]) { b[t++] = a[k++]; } else { b[t++] = a[i...
阅读全文
摘要:public class HeapSort { public static void main(String[] args) { int a[] = { 3, 5, 1, 4, 7, 8 }; sort(a); System.out.println(Arrays.toString(a)); } private static...
阅读全文
摘要:题目要求原地修改,返回数组长度。 用两个指针标记数组的位置,一个是遍历数组,一个是记录“新数组”的 tail
阅读全文