摘要:列表 定义列表接口 用数组实现列表-MyArrayList 实现链表 Java List API 相关技巧 阅读全文
posted @ 2020-01-06 20:25 小中配奇 阅读 (2) 评论 (0) 编辑
摘要:数据结构基本概念 数据(data):属性,一切可以输入计算机并能被处理的都是数据 数据元素(data element):对象 数据对象(data object):对象集合 这么说,数据就是一种 数据结构,把数据元素按某种顺序摆在一起。 对象也可以认为是一种数据结构,因为它把n种不同的要素放在一起。 阅读全文
posted @ 2020-01-06 19:55 小中配奇 阅读 (4) 评论 (0) 编辑
摘要:讲的主要是实战,怎么用代码把数据结构实现一遍。总的来说,先实战,后理论! 面向对象要点 >对象将数据和操作打包在一起,类描述了这一切 >用构造器创建(实例化)对象>类和类之间的关系 -关联(组合、聚合) 聚合:Teacher ◇ --> Student (弱关联) 组合:Student ◆ --> 阅读全文
posted @ 2020-01-05 19:02 小中配奇 阅读 (8) 评论 (0) 编辑
摘要:题目描述 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。 示例 1 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的 阅读全文
posted @ 2019-12-24 21:03 小中配奇 阅读 (39) 评论 (0) 编辑
摘要:题目描述 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1 -> 2 -> 4 ,1 -> 3 -> 4 输出:1 -> 1 -> 2 -> 3 -> 4 -> 4 方法 1:递归 思路 特殊的,如果 l1 或者 l2 一开始就是 nul 阅读全文
posted @ 2019-12-24 19:56 小中配奇 阅读 (52) 评论 (0) 编辑
摘要:迭代是人,递归是神! 从“编程之美”的角度看,可以借用一句非常经典的话:“迭代是人,递归是神!”来从宏观上对二者进行把握。 从概念上讲,递归就是指程序调用自身的编程思想,即一个函数调用本身;迭代是利用已知的变量值,根据递推公式不断演进得到变量新值得编程思想。 递归 递归就是函数自己调用自己。 构成递 阅读全文
posted @ 2019-12-24 19:04 小中配奇 阅读 (69) 评论 (1) 编辑
摘要:题目描述 给定一个只包括 ' ( ' , ' ) ', ' { ' , ' } ' , ' [ ' , ' ] ' 的字符串,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例1: 输入:"()"输出:t 阅读全文
posted @ 2019-12-23 17:39 小中配奇 阅读 (33) 评论 (0) 编辑
摘要:题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"]输出: "fl" 示例 2: 输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。 说 阅读全文
posted @ 2019-12-16 14:24 小中配奇 阅读 (8) 评论 (0) 编辑
摘要:题目描述 罗马数字包含以下七种字符: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 阅读全文
posted @ 2019-12-13 21:27 小中配奇 阅读 (25) 评论 (0) 编辑
摘要:动态规划 什么是动态规划? 动态规划的大致思路是把一个复杂的问题转化成一个分阶段逐步递推的过程,从简单的初始状态一步一步递推,最终得到复杂问题的最优解。 基本思想与策略编辑: 由于动态规划解决的问题多数有重叠子问题这个特点,为减少重复计算,对每一个子问题只解一次,将其不同阶段的不同状态保存在一个二维 阅读全文
posted @ 2019-12-13 16:58 小中配奇 阅读 (189) 评论 (0) 编辑