- 博客(11)
- 收藏
- 关注
原创 LeetCode 1 两数之和
[题目描述]给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], target = 6
2021-10-20 11:21:12
83
原创 堆排序算法
public class Sort_HeapSort { /** * 时间复杂度O(N*logN),额外空间复杂度O(1) * * 堆(完全二叉树、数组) * 堆排序 * 若当前结点下标i: * 左孩子下标(2i+1),右孩子下标(2i+2) * 父结点下标(i-1)...
2020-03-28 14:28:06
179
原创 快速排序算法
public class Sort_QuickSort { /** * 利用荷兰国旗问题对经典的快排进行优化 * * 荷兰国旗问题 * 对于arr[l, r],小于num的数放左边,大于num的数放右边,等于num的数字放中间 * * 思路 * 初始化:less指向l前一个位置,more指向r后一个位置 ...
2020-03-21 13:47:09
187
原创 归并排序算法
public class Sort_MergeSort { /** * 时间复杂度O(N*logN),额外空间复杂度O(N) * @param arr */ public void mergeSort(int[] arr) { if (arr == null || arr.length < 2) { re...
2020-03-15 14:02:08
95
原创 插入排序算法
public class Sort_InsertSort { /** * 时间复杂度O(N^2),额外空间复杂度O(1) * @param arr */ public static void insertSort(int[] arr) { if (arr == null || arr.length < 2) { ...
2020-03-07 20:56:01
90
原创 选择排序算法
public class Sort_SelectionSort { /** * 时间复杂度O(N^2),额外空间复杂度O(1) * @param arr */ public void selectionSort(int[] arr) { if (arr == null || arr.length < 2) { ...
2020-03-03 21:10:23
97
原创 冒泡排序算法
public class Sort_BubbleSort { /** * 时间复杂度O(N^2),额外空间复杂度O(1) * @param arr */ public void bubbleSort(int[] arr) { if (arr == null || arr.length < 2) { ret...
2020-03-01 16:40:05
81
原创 LeetCode 58 最后一个单词的长度
[题目描述]给定一个仅包含大小写字母和空格 ’ ’ 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。如果不存在最后一个单词,请返回 0 。(题目说明:一个单词是指仅由字母组成、不包含任何空格的 最大子字符串。)示例 1:输入: "Hello World"输出: 5[个人见解]根据题意有如下思路:首先该字符串包含空格和大小...
2020-02-29 18:34:21
218
原创 LeetCode 383 赎金信
[题目描述]给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。)示例 1:canConstruct("a", "b") -> false...
2020-02-23 18:39:55
145
原创 LeetCode 41 缺失的第一个正数
[题目描述]给定一个未排序的整数数组,找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1说明:你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。[个人见解]根据题意数组未排序,需要找出未出现的最小正整数:首先,第一个想法就...
2020-02-12 23:18:58
105
原创 LeetCode 66 加一
[题目描述]给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。...
2020-02-10 23:03:37
126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人