博客园 - 小中配奇
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=36958
2020-03-16T07:34:53Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
feed.cnblogs.com
https://www.cnblogs.com/xiaozhongfeixiang/p/12489578.html
LeetCode刷题--53. 最大子序和(简单) - 小中配奇
题目描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 进阶: 如果你已经实现复杂度为 O(n) 的解法
2020-03-13T14:34:00Z
2020-03-13T14:34:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】题目描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 进阶: 如果你已经实现复杂度为 O(n) 的解法 <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/12489578.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/12463614.html
LeetCode刷题--38. 外观数列(简单) - 小中配奇
题目描述 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 被读作 "one 1" ("一个一") , 即 11。11 被读作 "two 1s" ("两个一"), 即 21。21 被
2020-03-11T09:08:00Z
2020-03-11T09:08:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】题目描述 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 被读作 "one 1" ("一个一") , 即 11。11 被读作 "two 1s" ("两个一"), 即 21。21 被 <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/12463614.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/12439277.html
LeetCode刷题--35. 搜索插入位置(简单) - 小中配奇
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5输出: 2 示例 2: 输入: [1,3,5,6], 2输出: 1 示例 3: 输入: [1,
2020-03-07T15:37:00Z
2020-03-07T15:37:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5输出: 2 示例 2: 输入: [1,3,5,6], 2输出: 1 示例 3: 输入: [1, <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/12439277.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/12158350.html
列表:顺序表和链表 - 小中配奇
列表 定义列表接口 用数组实现列表-MyArrayList 实现链表 Java List API 相关技巧
2020-01-06T12:25:00Z
2020-01-06T12:25:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】列表 定义列表接口 用数组实现列表-MyArrayList 实现链表 Java List API 相关技巧 <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/12158350.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/12158098.html
数据结构基本概念 - 小中配奇
数据结构基本概念 数据(data):属性,一切可以输入计算机并能被处理的都是数据 数据元素(data element):对象 数据对象(data object):对象集合 这么说,数据就是一种 数据结构,把数据元素按某种顺序摆在一起。 对象也可以认为是一种数据结构,因为它把n种不同的要素放在一起。
2020-01-06T11:55:00Z
2020-01-06T11:55:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】数据结构基本概念 数据(data):属性,一切可以输入计算机并能被处理的都是数据 数据元素(data element):对象 数据对象(data object):对象集合 这么说,数据就是一种 数据结构,把数据元素按某种顺序摆在一起。 对象也可以认为是一种数据结构,因为它把n种不同的要素放在一起。 <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/12158098.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/12153254.html
学习数据结构之前的java基础 - 小中配奇
讲的主要是实战,怎么用代码把数据结构实现一遍。总的来说,先实战,后理论! 面向对象要点 >对象将数据和操作打包在一起,类描述了这一切 >用构造器创建(实例化)对象>类和类之间的关系 -关联(组合、聚合) 聚合:Teacher ◇ --> Student (弱关联) 组合:Student ◆ -->
2020-01-05T11:02:00Z
2020-01-05T11:02:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】讲的主要是实战,怎么用代码把数据结构实现一遍。总的来说,先实战,后理论! 面向对象要点 >对象将数据和操作打包在一起,类描述了这一切 >用构造器创建(实例化)对象>类和类之间的关系 -关联(组合、聚合) 聚合:Teacher ◇ --> Student (弱关联) 组合:Student ◆ --> <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/12153254.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/12093551.html
LeetCode刷题--26.删除排序数组中的重复项(简单) - 小中配奇
题目描述 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。 示例 1 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的
2019-12-24T13:03:00Z
2019-12-24T13:03:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】题目描述 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。 示例 1 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的 <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/12093551.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/12093259.html
LeetCode刷题--21.合并两个有序链表(简单) - 小中配奇
题目描述 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1 -> 2 -> 4 ,1 -> 3 -> 4 输出:1 -> 1 -> 2 -> 3 -> 4 -> 4 方法 1:递归 思路 特殊的,如果 l1 或者 l2 一开始就是 nul
2019-12-24T11:56:00Z
2019-12-24T11:56:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】题目描述 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1 -> 2 -> 4 ,1 -> 3 -> 4 输出:1 -> 1 -> 2 -> 3 -> 4 -> 4 方法 1:递归 思路 特殊的,如果 l1 或者 l2 一开始就是 nul <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/12093259.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/12093096.html
深究递归和迭代的区别、优缺点及实例对比 - 小中配奇
迭代是人,递归是神! 从“编程之美”的角度看,可以借用一句非常经典的话:“迭代是人,递归是神!”来从宏观上对二者进行把握。 从概念上讲,递归就是指程序调用自身的编程思想,即一个函数调用本身;迭代是利用已知的变量值,根据递推公式不断演进得到变量新值得编程思想。 递归 递归就是函数自己调用自己。 构成递
2019-12-24T11:04:00Z
2019-12-24T11:04:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】迭代是人,递归是神! 从“编程之美”的角度看,可以借用一句非常经典的话:“迭代是人,递归是神!”来从宏观上对二者进行把握。 从概念上讲,递归就是指程序调用自身的编程思想,即一个函数调用本身;迭代是利用已知的变量值,根据递推公式不断演进得到变量新值得编程思想。 递归 递归就是函数自己调用自己。 构成递 <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/12093096.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/12085035.html
LeetCode刷题--20.有效的括号(简单) - 小中配奇
题目描述 给定一个只包括 ' ( ' , ' ) ', ' { ' , ' } ' , ' [ ' , ' ] ' 的字符串,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例1: 输入:"()"输出:t
2019-12-23T09:39:00Z
2019-12-23T09:39:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】题目描述 给定一个只包括 ' ( ' , ' ) ', ' { ' , ' } ' , ' [ ' , ' ] ' 的字符串,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例1: 输入:"()"输出:t <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/12085035.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/12048918.html
LeetCode刷题--14.最长公共前缀(简单) - 小中配奇
题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"]输出: "fl" 示例 2: 输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。 说
2019-12-16T06:24:00Z
2019-12-16T06:24:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"]输出: "fl" 示例 2: 输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。 说 <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/12048918.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/12037378.html
LeetCode刷题--13.罗马数字转整数(简答) - 小中配奇
题目描述 罗马数字包含以下七种字符:I,V,x,L,C,D和M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如,罗马数字 2 写做 II ,即为两个并列的 1。12写做 XII,即为 X + II。27 写做 X 双 VII,即为 XX + V + II
2019-12-13T13:27:00Z
2019-12-13T13:27:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】题目描述 罗马数字包含以下七种字符:I,V,x,L,C,D和M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如,罗马数字 2 写做 II ,即为两个并列的 1。12写做 XII,即为 X + II。27 写做 X 双 VII,即为 XX + V + II <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/12037378.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/12026148.html
动态规划算法详解及经典例题 - 小中配奇
动态规划 什么是动态规划? 动态规划的大致思路是把一个复杂的问题转化成一个分阶段逐步递推的过程,从简单的初始状态一步一步递推,最终得到复杂问题的最优解。 基本思想与策略编辑: 由于动态规划解决的问题多数有重叠子问题这个特点,为减少重复计算,对每一个子问题只解一次,将其不同阶段的不同状态保存在一个二维
2019-12-13T08:58:00Z
2019-12-13T08:58:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】动态规划 什么是动态规划? 动态规划的大致思路是把一个复杂的问题转化成一个分阶段逐步递推的过程,从简单的初始状态一步一步递推,最终得到复杂问题的最优解。 基本思想与策略编辑: 由于动态规划解决的问题多数有重叠子问题这个特点,为减少重复计算,对每一个子问题只解一次,将其不同阶段的不同状态保存在一个二维 <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/12026148.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/12019221.html
LeetCode--9.回文数(简单) - 小中配奇
题目描述: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3
2019-12-10T13:10:00Z
2019-12-10T13:10:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】题目描述: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3 <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/12019221.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/12018422.html
LeetCode刷题--7.整数反转(简单) - 小中配奇
题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 思路 我们可以一次构建反转整数的一位数字。在这样做的时候,我们可以预先检查向原整数
2019-12-10T10:38:00Z
2019-12-10T10:38:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 思路 我们可以一次构建反转整数的一位数字。在这样做的时候,我们可以预先检查向原整数 <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/12018422.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/12016590.html
LeetCode刷题--3.无重复字符的最长子串(中等) - 小中配奇
题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长
2019-12-10T06:46:00Z
2019-12-10T06:46:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长 <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/12016590.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/11999786.html
LeetCode刷题--2.两数相加(中等) - 小中配奇
题目描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 ->
2019-12-06T13:57:00Z
2019-12-06T13:57:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】题目描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/11999786.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/11991777.html
LeetCode刷题--1.两数之和(简单) - 小中配奇
题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因
2019-12-06T13:34:00Z
2019-12-06T13:34:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因 <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/11991777.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/11991735.html
应该如何刷 LeetCode? - 小中配奇
LeetCode 做笔记 对于遇到的每个题目,事后都做上标记:普通题目,难题、好题。此外,每个题目都分为以下几个步骤做好详细的笔记: 1. 原题目 2. 自己的第一遍解法 3. 网上好的解法 4. 自己可以改进的地方 5. 进一步精简优化自己的代码直至代码简无可简(这是非常关键的一步,到达这一步,才
2019-12-05T12:32:00Z
2019-12-05T12:32:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】LeetCode 做笔记 对于遇到的每个题目,事后都做上标记:普通题目,难题、好题。此外,每个题目都分为以下几个步骤做好详细的笔记: 1. 原题目 2. 自己的第一遍解法 3. 网上好的解法 4. 自己可以改进的地方 5. 进一步精简优化自己的代码直至代码简无可简(这是非常关键的一步,到达这一步,才 <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/11991735.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xiaozhongfeixiang/p/11942890.html
贪心算法和分治算法及经典例子 - 小中配奇
贪心算法 基本概念 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备
2019-11-28T08:25:00Z
2019-11-28T08:25:00Z
小中配奇
https://www.cnblogs.com/xiaozhongfeixiang/
【摘要】贪心算法 基本概念 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备 <a href="https://www.cnblogs.com/xiaozhongfeixiang/p/11942890.html" target="_blank">阅读全文</a>