java
spring_3_shine
非专业励志狗,2分59秒热度男,间歇性幻想家
展开
-
java 自定义类排序
定义结构体c/c++中是这样的:struct Node{ int a; char c; char c[8];};Node A;Node B[10];java中是这样:class Node{ public int a; public String s; //加上一推set(),get(),Node(),Node(int a,String s);}原创 2017-04-24 19:46:49 · 551 阅读 · 2 评论 -
Java 集合嵌套List of List
背景:在LeetCode上刷题时,发现有这么一个返回值:List< List< Integer> > ,竟然不知如何是好,于是好哈研究了一番。public static List<List<Integer>> function(){}解决方法:/** 方法1 */List<List<Integer>> re...原创 2018-04-20 22:33:35 · 3456 阅读 · 1 评论 -
LeetCode 695. 岛屿的最大面积(dfs)
题目:给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。)示例 1:[[0,0,1,0,0,0,0,1,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,0,0,0],...原创 2018-04-20 12:57:50 · 624 阅读 · 0 评论 -
LeetCode 283. 移动零
题意:给定一个数组 nums, 编写一个函数将所有 0 移动到它的末尾,同时保持非零元素的相对顺序。例如, 定义 nums = [0, 1, 0, 3, 12],调用函数之后, nums 应为 [1, 3, 12, 0, 0]。注意事项:必须在原数组上操作,不要为一个新数组分配额外空间。尽量减少操作总数。分析:先将非0数移到首部,尾部补零java_code:...原创 2018-04-20 10:58:34 · 783 阅读 · 0 评论 -
Java源码分析(三)--LinkedList
概述:LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。 LinkedList 实现 List 接口,能对它进行队列操作。 LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。 LinkedList 实现了Cloneable接口,即覆盖了函数clone(),能克隆。 ...原创 2018-04-19 22:38:26 · 182 阅读 · 0 评论 -
LeetCode 766. 托普利茨矩阵
题目:如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True。示例 1:输入: matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]输出: True解释:123451239512在上面这个矩阵中, 对角线分别是 "[9]", "[5, 5]...原创 2018-04-19 16:03:11 · 932 阅读 · 0 评论 -
LeetCode 80. 删除排序数组中的重复项 II
题意:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定 nums = [1,1,1,2,2,3],函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3 。你不需要考虑数组中超出新长度后面的元素。示原创 2018-04-19 15:52:20 · 1828 阅读 · 1 评论 -
LeetCode 566. 重塑矩阵
题意:在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。示例 1:输入: nums =原创 2018-04-19 12:01:12 · 704 阅读 · 0 评论 -
LeetCode 561 数组拆分
题意:给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。示例 1:输入: [1,4,3,2]输出: 4解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).提示:n 是正整数,范围在 [1, 10000].数组中的元素范围在原创 2018-04-19 11:33:20 · 621 阅读 · 0 评论 -
Java 注释规范简介
Java 注释规范简介前言:最近完成了大创的程序编写,想放到网上,但一堆代码想来质量高不了,但好歹希望别人能看懂,这里学习一下注释规范,回去整理代码基本注释:备注1:持久化对象或VO对象的getter、setter方法不需加注释。 备注2:复杂功能也应该写在相应部分写好注释(a) 类(接口)的注释。是简单的功能介绍。/*** 类的描述* @author Ad...原创 2018-04-13 13:43:15 · 154 阅读 · 0 评论 -
java文件读取
最近在用java对文件读取,进行访问验证,最后编写如下读取的格式private static String pathname = "/usr/local/apache-tomcat-9.0.6/webapps/test4_Admin.txt";File Admin=new File(pathname);InputStreamReader reader = new InputStreamReade原创 2018-04-13 12:24:58 · 161 阅读 · 0 评论 -
Java源码分析(二)--ArrayList
概述:ArrayList是一个重要的Java集合,底层基于数组实现,用以解决数组的一系列操作。性质:一、非同步ArrayList与Vector类似,但与Vector不同的是,ArrayList未实现同步。说明文档里提到:“This class is roughly equivalent to Vector, except that it is unsynchronized.”。在Vector中,我们原创 2018-04-16 22:36:54 · 148 阅读 · 0 评论 -
Java源码分析(一)-- modCount与ConcurrentModficationException异常
前言我在阅读Java.util.ArrayList源码的时候,发现不少方法中有”modCount++;”,很好奇这个modCount有何作用,一番查证,找到了一些有趣的东西 参考:https://blog.csdn.net/androiddevelop/article/details/21509345摘要modCount 记录修改次数, ConcurrentModficationExceptio原创 2018-04-14 21:35:39 · 829 阅读 · 2 评论 -
Java源码分析(四)--String
java.long.String字符串操作可以说是相当美妙了,String类作为其中的典范,值得研究一番。类定义:以字符数组为字符串的value,设置为final,不可更改。hash值是String常用的量了,根据后面的hashCode()方法得到,因为这是private,所以不用随value值更改,需要时再通过hashCode()计算,这是没问题的。public final ...原创 2018-05-15 19:11:30 · 330 阅读 · 1 评论