Java
很好的坏人
一个很菜的程序猿
展开
-
Leetcode26删除排序数组中的重复项
题目26:删除排序数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的...原创 2018-12-19 21:40:30 · 89 阅读 · 0 评论 -
最短路径问题
Dijkstra单源最短路径算法 前提:图中不能有负权边 复杂度:O(ElogV) 代码 /* * Created by wxn * 2018/12/17 23:12 */ import java.util.Stack; import java.util.Vector; /** * Dijkstra单源最短路径算法 */ public class Dijkstra&lt...原创 2018-12-18 00:10:48 · 231 阅读 · 0 评论 -
最小生成树问题
最小生成树(Minimum Span Tree) 针对带权无向图 针对连通图 切分 把途中的结点分为两部分,成为一个切分(Cut) 如果一个边的两个端点,属于切分不同的两边,这个边称为横切边(Crossing Edge) 切分定理 给定任意切分,横切边中权值最小的边必然属于最小生成树。 ...原创 2018-12-16 04:12:16 · 1065 阅读 · 0 评论 -
Java中\t的作用
\t是补全当前字符串长度到8的整数倍,最少1个最多8个空格 补多少要看你\t前字符串长度 比如当前字符串长度10,那么\t后长度是16,也就是补6个空格 如果当前字符串长度12,此时\t后长度是16,补4个空格 ...原创 2018-12-15 20:17:20 · 7326 阅读 · 0 评论 -
Leetcode80:删除排序数组中的重复项 II
题目80:删除排序数组中的重复项 II 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定 nums = [1,1,1,2,2,3], 函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3 ...原创 2018-12-21 00:14:56 · 101 阅读 · 0 评论 -
Leetcode26:删除排序数组中的重复项
题目26:删除排序数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的...原创 2018-12-20 23:22:07 · 125 阅读 · 0 评论 -
Leetcode27:移除元素
题目27:移除元素 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 num...原创 2018-12-20 23:12:53 · 256 阅读 · 0 评论 -
Leetcode283:移动零
题目283:移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 解法1 设置一个指针i指示当前非0元素应该放的位置 从头遍历数组 每扫描到一个非0元素 将这个元素放i的位置,i++ 最后将0补齐 /...原创 2018-12-20 22:41:24 · 199 阅读 · 0 评论 -
Leetcode50:Pow(x, n)
题目:Pow(x, n) 实现 pow(x, n) ,即计算 x 的 n 次幂函数。 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, 3 输出: 9.26100 示例 3: 输入: 2.00000, -2 输出: 0.25000 解释: 2-2 = 1/22 = 1/4 = 0.25 说明: -100.0 < x ...原创 2018-12-20 19:29:09 · 133 阅读 · 0 评论 -
Leetcode122:买卖股票的最佳时机 II
题目122:买卖股票的最佳时机 II 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [7,1,5,3,6,4] 输出: 7 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价...原创 2018-12-19 23:18:48 · 86 阅读 · 0 评论 -
Leetcode121: 买卖股票的最佳时机
题目121: 买卖股票的最佳时机 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 =...原创 2018-12-19 22:59:01 · 143 阅读 · 0 评论 -
Leetcode148:排序链表
在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: 输入: -1->5->3->4->0 输出: -1->0->3->4->5 //利用归并排序的思想 public ListNode sortLi...原创 2019-05-31 15:09:45 · 58 阅读 · 0 评论