摘要: LeetCode34. 在排序数组中查找元素的第一个和最后一个位置 题目跳转 二分边界问题参考 JAVA代码: class Solution { public int[] searchRange(int[] nums, int target) { if (nums.length == 0) retu 阅读全文
posted @ 2020-12-30 21:07 ICEIX 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 基数排序 算法思想: 将每一个关键字的各位,依次进行稳定的计数排序 时间复杂度: 设数组长度为n,最大数的位数为k,进制为r, 则需要k次循环进行分配和收集, 每一次分配需要O(n),收集需要O(n),即为O(k*n) (如果采用链式存储则每一次分配收集都需要O(n+r),即为O(k*(n+r)) 阅读全文
posted @ 2020-10-17 18:03 ICEIX 阅读(300) 评论(0) 推荐(0) 编辑
摘要: LeetCode.205(同构字符串) - 简单 给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。 示例: 输入: 阅读全文
posted @ 2020-06-30 18:15 ICEIX 阅读(171) 评论(0) 推荐(0) 编辑
摘要: LeetCode.349(两个数组的交集) - 简单 给定两个数组,编写一个函数来计算它们的交集。 示例: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4] 说明: 阅读全文
posted @ 2020-06-29 17:21 ICEIX 阅读(193) 评论(0) 推荐(0) 编辑
摘要: LeetCode.88(合并两个有序数组) - 简单 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 你可以假设 nums1 有足够的空间( 阅读全文
posted @ 2020-06-29 16:03 ICEIX 阅读(135) 评论(0) 推荐(0) 编辑
摘要: LeetCode.206(反转链表) 简单 + 反转一个单链表。 + 示例: + 代码1: + 代码2: + 结果: 阅读全文
posted @ 2020-04-21 13:15 ICEIX 阅读(159) 评论(0) 推荐(0) 编辑
摘要: LeetCode.1290(合并区间) 简单 + 给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。 + 示例1: 示例 2: 示例 3: 示例 4: 示例 5: + 代码: + 结果: 阅读全文
posted @ 2020-04-21 12:47 ICEIX 阅读(200) 评论(0) 推荐(0) 编辑
摘要: LeetCode.20(合并区间) + 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 1. 左括号必须用相同类型的右括号闭合。 2. 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 + 示例1: 示例 2: 示例 阅读全文
posted @ 2020-04-21 12:20 ICEIX 阅读(242) 评论(0) 推荐(0) 编辑
摘要: LeetCode.3(无重复字符的最长子串) 中等 + 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例1: 示例2: 示例3: + 代码: + 结果: 阅读全文
posted @ 2020-04-17 16:59 ICEIX 阅读(130) 评论(0) 推荐(0) 编辑
摘要: LeetCode.55(跳跃游戏) 中等 + 给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。 示例1: 示例2: + 代码: + 结果: 阅读全文
posted @ 2020-04-17 14:38 ICEIX 阅读(135) 评论(0) 推荐(0) 编辑