
Java
_Evelyn_
这个作者很懒,什么都没留下…
展开
-
【LeetCode】每日一题(二十八)332. 重新安排行程 欧拉路径 图 dfs
332. 重新安排行程20200827难度:中等题目描述给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序。所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 开始。说明:如果存在多种有效的行程,你可以按字符自然排序返回最小的行程组合。例如,行程 [“JFK”, “LGA”] 与 [“JFK”, “LGB”] 相比就更小,排序更靠前所有的机场都用三个大写字母表示(机场代码)。原创 2020-08-27 14:20:53 · 273 阅读 · 0 评论 -
【LeetCode】每日一题(二十七)733. 图像渲染- dfs
733. 图像渲染难度:简单20200816题目描述有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的颜色值 newColor,让你重新上色这幅图像。为了完成上色工作,从初始坐标开始,记录初始坐标的上下左右四个方向上像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应四个方向上像素值与初始坐标相同的相连像素点,……,重复该过程。将所有有记录原创 2020-08-16 19:31:18 · 218 阅读 · 0 评论 -
【LeetCode】周赛纪录(十一)第202场周赛20200816存在连续三个奇数的数组 使数组中所有元素相等的最小操作数 两球之间的磁力-二分 吃掉 N 个橘子的最少天数-BFS
周赛第202场202008165185. 存在连续三个奇数的数组题目描述1给你一个整数数组 arr,请你判断数组中是否存在连续三个元素都是奇数的情况:如果存在,请返回 true ;否则,返回 false 。示例 1:输入:arr = [2,6,4,1]输出:false解释:不存在连续三个元素都是奇数的情况。示例 2:输入:arr = [1,2,34,3,4,5,7,23,12]输出:true解释:存在连续三个元素都是奇数的情况,即 [5,7,23] 。提示:1 <=原创 2020-08-16 19:29:57 · 346 阅读 · 0 评论 -
【LeetCode】周赛纪录(十)第201场周赛20200809 整理字符串-模拟/栈 找出第 N 个二进制字符串的第 K 位-递归 和为目标值的不重叠非空子数组数目-前缀和 切棍子最小成本-区间dp
周赛第201场202008095483. 整理字符串题目描述1给你一个由大小写英文字母组成的字符串 s 。一个整理好的字符串中,两个相邻字符 s[i] 和 s[i + 1] 不会同时满足下述条件:0 <= i <= s.length - 2s[i] 是小写字符,但 s[i + 1] 是相同的大写字符;反之亦然 。请你将字符串整理好,每次你都可以从字符串中选出满足上述条件的 两个相邻 字符并删除,直到字符串整理好为止。请返回整理好的 字符串 。题目保证在给出的约束条件下,测试样例对原创 2020-08-10 10:32:10 · 436 阅读 · 0 评论 -
【LeetCode】周赛纪录(九)第200场周赛20200802 统计好三元组 找出数组游戏的赢家 排布二进制网格的最少交换次数-贪心 最大得分-双指针/动态规划
周赛第200场202008025475. 统计好三元组题目描述给你一个整数数组 arr ,以及 a、b 、c 三个整数。请你统计其中好三元组的数量。如果三元组 (arr[i], arr[j], arr[k]) 满足下列全部条件,则认为它是一个 好三元组 。0 <= i < j < k < arr.length|arr[i] - arr[j]| <= a|arr[j] - arr[k]| <= b|arr[i] - arr[k]| <= c其中原创 2020-08-02 20:59:24 · 228 阅读 · 0 评论 -
【LeetCode】每日一题(二十六)632. 最小区间 滑动窗口+哈希表 / 堆
632. 最小区间20200801难度:困难题目描述你有 k 个升序排列的整数数组。找到一个最小区间,使得 k 个列表中的每个列表至少有一个数包含在其中。我们定义如果 b-a < d-c 或者在 b-a == d-c 时 a < c,则区间 [a,b] 比 [c,d] 小。示例 1:输入:[[4,10,15,24,26], [0,9,12,20], [5,18,22,30]]输出: [20,24]解释: 列表 1:[4, 10, 15, 24, 26],24 在区间 [20,原创 2020-08-01 18:51:34 · 180 阅读 · 0 评论 -
【Java】 第八章 泛型程序设计 Java核心技术卷1基础知识原书第10版 读书笔记
第八章 泛型程序设计8.泛型程序设计8.1 为什么要使用泛型程序设计8.1.1 类型参数的好处8.1.2 谁想成为泛型程序员8.2 定义简单泛型类8.3 泛型方法8.4 类型变量的限定8.5 泛型代码和虚拟机8.5.1 类型擦除8.5.2 翻译泛型表达式8.5.3 翻译泛型方法8.5.4 调用遗留代码8.6 约束与局限性8.6.1 不能用基本类型实例化类型参数8.6.2 运行时类型查询只适用于原始类型8.6.3 不能创建参数化类型的数组8.6.4 Varargs 警告8.6.5 不能实例化类型变置8.6.6原创 2020-06-13 15:22:16 · 225 阅读 · 0 评论 -
【Java】 第七章 异常、断言和日志 Java核心技术卷1基础知识原书第10版 读书笔记
第七章 异常、断言和日志7. 异常、断言和日志7.1 处理错误7.1.1 异常分类7.1.2 声明受查异常7.1.3 如何抛出异常7.1.4 创建异常类7.2 捕获异常7.2.1 捕获异常7.2.2 捕获多个异常7.2.3 再次抛出异常与异常链7.2.4 finally 子句7.2.5 带资源的try语句7.2.6 分析堆栈轨迹元素7.3 使用异常机制的技巧7.4 使用断言7.4.1 断言的概念7.4.2 启用和禁用断言7.4.3 使用断言完成参数检查7.4.4 为文档假设使用断言7.5 记录曰志7.5.1原创 2020-06-12 17:04:41 · 304 阅读 · 0 评论 -
【Java】 第六章 接口、lambda 表达式与内部类 Java核心技术卷1基础知识原书第10版 读书笔记
第六章 接口、lambda表达式与内部类6. 接口、lambda 表达式与内部类6.1 接口6.1.1 接口概念6.1.2 接口的特性6.1.3 接口与抽象类6.1.4 静态方法6.1.5 默认方法6.1.6 解决默认方法冲突6.2 接口示例6.2.1 接口与回调6.2.2 Comparator接口6.2.3 对象克隆6.3 lambda 表达式6.3.1 为什么引入lambda 表达式6.3.2 lambda 表达式的语法6.3.3 函数式接口6.3.4 方法引用6 .3.5 构造器引用6.3.6 变量作原创 2020-06-11 21:11:56 · 250 阅读 · 0 评论 -
【Java】 第五章继承 Java核心技术卷1基础知识原书第10版 读书笔记
第五章 继承5.继承5.1 类、超类和子类5.1.1 定义子类5.1.2 覆盖方法5.1.3 子类构造器5.1.4 继承层次5.1.5 多态5.1.6 理解方法调用5.1.7 阻止继承:final 类和方法5.1.8 强制类型转换5.1.9 抽象类5.1.10 受保护访问5.2 Object:所有类的超类5.2.1 equals 方法5.2.3 hashCode 方法5.2.4 toString 方法5. 3 泛型数组列表5.3.1 访问数组列表元素5.3.2 类型化与原始数组列表的兼容性5.4 对象包装器原创 2020-06-06 16:34:06 · 258 阅读 · 0 评论 -
【Java】 第四章对象与类 Java核心技术卷1基础知识原书第10版 读书笔记
4.对象与类面向对象程序设计(OPP)程序=算法+数据结构4.1 概述4.1.1类所有类都源自Object4.1.4类之间的关系类之间的关系有:依赖(uses-a):一个类的方法操纵另一个类的对象聚合(has-a):类A的对象包含类B的对象继承(is-a):特殊与一般的关系4.2 使用预定义类Gregorian Calendar类时间和日历Date4.3 用户自定义类4.3.4 构造器构造器与类同名,没有返回值总是伴随着new操作符的执行而被调用,而不能对一原创 2020-06-05 16:13:02 · 238 阅读 · 0 评论 -
【Java】接口&接口与类的区别
文章目录Java接口接口和类接口和类的相似点接口和类的区别接口的声明接口的实现接口的继承接口的多继承标记接口参考Java接口接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。接口中的方法是不能在接口中实现的,只能由实现接口的类来实现接口中的方法原创 2020-05-27 16:48:54 · 432 阅读 · 0 评论 -
【Java】字符串相关操作函数及其互相转换 String char String[] StringBuilder
char相关判断是否是字母、数字Character.isLetterOrDigit(c1)//字母或者字符串Character.isDigit();//数字Character.isLetter();//字母char的大小写转换,单个字符if(Character.isUpperCase(c1)){ c1 = Character.toLowerCase(c1); }或者:c = (char)(c - 32);//小写字母转大写字母String相关String lo原创 2020-05-20 15:49:32 · 245 阅读 · 0 评论 -
【Java】方法重载&重写区别
目录重写(Override)重载(Overload)重载和重写的区别参考](https://www.nowcoder.com/tutorial/10001/ec63ed236f1742f1936db262c776d13c)重写(Override)重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!规则: 参考链接参数列表必须完全与被重写方法的相同返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(java5 及更早版本返原创 2020-05-15 20:25:13 · 156 阅读 · 0 评论 -
【数据结构】哈希表&前缀和/滑动窗口双指针 和为k的子数组/两数三数四数之和-LeetCode题型记录(Java)
目录560. 和为K的子数组滑动窗口面试题57. 和为s的两个数字面试题57 - II. 和为s的连续正数序列前缀和 + 哈希表1248. 统计「优美子数组」前缀和+哈希表滑动窗口1.两数之和454. 四数相加 II15. 三数之和18. 四数之和560. 和为K的子数组给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。看到这道题首先想到的是滑动窗口(双指针)感觉似曾相识,然后失败了。因为会出现负数的情况。下面和可以用之前双指针思路的题目对比一下滑动窗口面试题原创 2020-05-15 15:26:40 · 563 阅读 · 0 评论 -
【数据结构】有限状态自动机(FSA)的理解-LeetCode表示数值的字符串(有效数字)题解(Java)
问题描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、“5e2”、"-123"、“3.1416”、“0123"都表示数值,但"12e”、“1a3.14”、“1.2.3”、“±5”、"-1E-16"及"12e+5.4"都不是。思路根据输入字符串是什么,来确定下一步走到哪里。初始状态为0。方框代表可以接受的状态,也就是最后要判断是否处在2,3,5,8,9这几个状态。根据图列出这个表格以后,如果走到-1就要返回false,然后最后判断结尾字符是否是合法状态即可原创 2020-05-11 11:35:59 · 1029 阅读 · 0 评论 -
【数据结构】位运算(一)LeetCode找数组中只出现一次的元素题型总结(Java)
来自LeetCode 136、137、260除了某k个元素只出现一次以外,其余每个元素均出现m次。找出那个只出现了k次的元素。目录O、位运算技巧用法总结一、某个元素只出现一次以外,其余每个元素均出现两次(k=1,m=2)思路一:位运算二、某个元素只出现一次以外,其余每个元素均出现三次(k=1,m=3)思路一:位运算,遍历统计思路二:有限状态自动机把以上解法扩展到k为奇数如k=5的时候?思路三:HashSet思路四:HashMap,存下每个数字出现的次数三、两个元素只出现一次,其余所有元素均出现两次。 找原创 2020-05-08 21:00:59 · 457 阅读 · 0 评论 -
【Java】Java中Pair的使用
做104. 二叉树的最大深度这道题的时候用到了Pair,是DFS用栈来实现的时候。Pair类Pair类在javafx.util 包中import javafx.util.Pair;用法也是键值对的形式Pair<Integer, String> pair = new Pair<>(1, "One");Integer key = pair.getKey();...原创 2020-05-06 16:40:17 · 11484 阅读 · 0 评论