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