摘要: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums = [1,3,5,6], target = 5输出: 2示例 2: 输入: nums = [1, 阅读全文
posted @ 2022-02-14 16:34 小白冲 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 为什么返回数值是整数,但输出的 阅读全文
posted @ 2022-02-14 14:39 小白冲 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。 由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 阅读全文
posted @ 2022-02-14 14:15 小白冲 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。 示例 1: 输入:s = "()"输出:true示例 2: 输入:s = "()[]{}"输出:true示例 3: 阅读全文
posted @ 2022-02-14 10:47 小白冲 阅读(24) 评论(0) 推荐(0) 编辑
摘要: Java里的LinkedList可以同时作为堆栈和队列使用,因此在使用的时候总是会弄混他们的方法,此文就简单总结一下作为不同数据结构使用时的用法。 作为队列 方法 声明 任意两种方法: 一是直接声明LinkedList: LinkedList<T> q = new LinkedList<T>(); 阅读全文
posted @ 2022-02-14 10:36 小白冲 阅读(132) 评论(0) 推荐(1) 编辑
摘要: 之前在有需要用到栈功能的时候,都是通过使用Stack接口完成的,也就是: 1 Stack<T> stack = new Stack<>() 但今天突然发现,Java Doc里建议用Deque替代Stack接口完成栈的功能,于是我稍微研究了一下。 Java Doc 在JavaDoc for Stack 阅读全文
posted @ 2022-02-14 10:35 小白冲 阅读(246) 评论(0) 推荐(0) 编辑