
算法
欧皇小德子
这个作者很懒,什么都没留下…
展开
-
算法题 -> 最长回文子串
给你一个字符串 s,找到 s 中最长的回文子串。 示例 1: 输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。 解析: 如果输入cbababd,结果是babab 遍历数据 -> 假设此时是数据[start] 如果前一位[start - 1]和后一位[start + 1]相等 则继续向两边扩散[start - 2,start + 2],直到两边不相等 记录此时的索引就是回文子串 如果输入cbaabd,结果是baab 遍历数据 -> 假设此时是.转载 2022-02-20 22:22:42 · 122 阅读 · 0 评论 -
算法题 -> 寻找两个正序数组的中位数
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (m+n)) 。 示例 1: 输入:nums1 = [1,3], nums2 = [2] 输出:2.00000 解释:合并数组 = [1,2,3] ,中位数 2 解析 public static double findMedianSortedArrays(int[] nums1, int[] nums2) { int.转载 2022-02-20 13:04:44 · 187 阅读 · 0 评论 -
算法题 -> 无重复字符的最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3 解析 public static int lengthOfLongestSubstring(String s) { HashMap<Character, Integer> map = new HashMap<>(); int start = -1, leng.转载 2022-02-19 00:42:49 · 79 阅读 · 0 评论 -
算法题 -> 两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1: 输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[7,0,8] 解释:342 + 465 = 807. ([个位,十位,百位...]) 解析 /** * 单链表的定义。 * public class ListN.转载 2022-02-18 09:41:45 · 91 阅读 · 0 评论 -
算法题 -> 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 解析 //1.遍历数组,用目标值 减去 数组索引位置的值,得到两数之和的补数,添加到map中 //2.如果遍历过程中值在map中存在,则当前 (遍历的值 + map中保存的值 == 结果) public class 两数之和 { public static int[] twoSum(int[] nums, int target) { .转载 2022-02-16 23:01:35 · 67 阅读 · 0 评论