
算法与数据结构
敲木鱼的小和尚
热衷于专研技术的大好青年
展开
-
二分查找(一)
在算法题目中,很重要的一个就是边界条件的设定,需要我们去明确,变量代表的含义,在循环的过程中一直保证此变量的含义不发生变化。含义不发生变化,而非变量值。class BinaryClass{ public static void main(String[] args) { int[] arr = {1,2,3,5,6,7,89,100}; ...原创 2019-06-13 22:20:37 · 169 阅读 · 0 评论 -
LeetCode 227 基本计算器II
原文链接:https://leetcode-cn.com/problems/basic-calculator-ii题目实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。示例 1:输入: “3+2*2”输出: 7示例 2:输入: " 3/2 "输出: 1示例 3:输入: " 3+...原创 2019-06-17 23:57:51 · 393 阅读 · 0 评论 -
L3 Middle 无重复字符的最长子字符串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters题目示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2...原创 2019-06-20 01:45:35 · 144 阅读 · 0 评论 -
L209 Middle 长度最小的子数组
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-size-subarray-sum题目给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释...原创 2019-06-20 01:17:09 · 117 阅读 · 0 评论 -
L7 整数反转
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-integer题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符...原创 2019-06-20 00:48:34 · 197 阅读 · 0 评论 -
L5 Middle 最长回文字符
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindromic-substring题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “...原创 2019-06-20 00:11:30 · 96 阅读 · 0 评论 -
L75 Middle 颜色分类 三路快排
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sort-colors题目给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: ...原创 2019-06-19 21:33:39 · 260 阅读 · 0 评论 -
L80 Middle 删除多余元素
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii题目给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定 ...原创 2019-06-19 21:05:03 · 152 阅读 · 0 评论 -
L283 Easy 移动0
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/move-zeroes题目给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。代码注意边界条件,即...原创 2019-06-19 20:36:10 · 142 阅读 · 0 评论 -
L238 Middle 求其余数之积
地址:https://leetcode-cn.com/problems/product-of-array-except-self给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]说明: 请不要使用除法...原创 2019-06-19 20:19:21 · 134 阅读 · 0 评论 -
玩转算法和数据结构 --- 数组
数组数组基础数组局限性索引的有无语义通过索引的语义,可以通过索引快速的定位到所需要的值。封装数组创建二次封装数组第一版,添加了基本的方法缺点:只能添加int类型的元素,没有增加和删除元素的功能public class Array { private int[] data; //可用的数组大小 private int size; pu...原创 2019-06-25 23:48:44 · 237 阅读 · 0 评论