自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 12.28-1.4

12月28日188.买卖股票的最佳时机Ⅳclass Solution { public int maxProfit(int k, int[] prices) { if(prices.length == 0 || k < 1) { return 0; } if(k >= prices.length/2) { return ans1(prices); } int

2021-01-27 15:55:45 115

原创 12.21-12.27

12月21日746.使用最小花费爬楼梯//动态规划class Solution { public int minCostClimbingStairs(int[] cost) { if(cost.length == 2) { return cost[0] > cost[1] ? cost[1] : cost[0]; } for(int i = 2; i < cost.length; i ++) {

2020-12-28 18:42:04 223

原创 Web学习笔记2

1.

2020-12-23 17:41:17 202

原创 12.14-12.20

12月14日49.字母异位词分组class Solution { public List<List<String>> groupAnagrams(String[] strs) { HashMap<String, ArrayList<String>> map = new HashMap<>(); for(String str : strs) { char[] c = str.toCh

2020-12-20 19:09:23 111

原创 12.7-12.13

12月7日861.翻转矩阵后的得分class Solution { public int matrixScore(int[][] A) { //1最多的时候数最大,先让最大位都为1 int m = A.length, n = A[0].length; //最大位都为1的总和 int ans = (1<<(n - 1)) * m; //遍历除第一列的所有列,让其每列的1最多 for (int

2020-12-14 19:47:42 114

原创 11.30-12.6

11.30日767.重构字符串class Solution { public String reorganizeString(String S) { char[] s = S.toCharArray(); int[] count = new int[26]; int l = S.length(); //统计每个字符出现的次数 for (int i = 0; i < l; i++) {

2020-12-06 20:01:06 111

原创 11.23-11.29

11.23日452.用最少数量的箭引爆气球class Solution { public int findMinArrowShots(int[][] points) { if(points.length < 1) { return 0; } Arrays.sort(points, (o1, o2) -> { return o1[1] < o2[1] ? -1 : 1;

2020-11-30 22:01:16 129

原创 11.16 - 11.22

11.16406.根据身高重建队列class Solution { public int[][] reconstructQueue(int[][] people) { // 按照身高降序排序,如果身高一样,则按照排在这个人前面的人数升序排序 Arrays.sort(people, new Comparator<int[]>() { @Override public int compare(int[] o1, in

2020-11-23 19:15:20 105

原创 11.9 -11.15

11.9日973.最接近原点的K个点class Solution { public int[][] kClosest(int[][] points, int K) { PriorityQueue<int[]> queue = new PriorityQueue<int[]>(points.length, (o1, o2) -> { return o1[0] * o1[0] + o1[1] * o1[1] - o2[0] * o

2020-11-16 21:27:35 92

原创 Web学习笔记1

1

2020-11-13 19:30:42 74

原创 11.1

392. 判断子序列class Solution { public boolean isSubsequence(String s, String t) { int i = 0, j = 0; while (i < s.length() && j < t.length()) { if (s.charAt(i) == t.charAt(j)) { i++; }

2020-11-08 20:58:42 65

原创 11.3-11.8

11.3日941.有效的山脉数组class Solution { public boolean validMountainArray(int[] A) { //从左边开始向右找最高峰,找到最高峰后开始向右判断,看是否递减,且避免单调递增递减情况出现 if(A.length < 3 || A[0] > A[1]) { //若数组只有两个元素则肯定不满足,且避免数组是递增数组 return false; }

2020-11-08 18:35:40 114

原创 JavaScript 基础

JavaScript概念: 一门客户端脚本语言运行在客户端浏览器中,每一个浏览器都有JavaScript的解析引擎脚本语言:不需要编译,直接就可以被浏览器执行了作用: 增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验...

2020-10-14 18:40:23 86

原创 CSS 基础

CSS:页面美化和布局控制概念: CSS(Cascading Style Sheets),通常称为CSS样式表或层叠样式表(级联样式表),主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局等外观显示样式。CSS以HTML为基础,提供了丰富的功能,如字体、颜色、背景的控制及整体排版等,而且还可以针对不同的浏览器设置不同的样式。好处:功能强大将内容展示和样式控制分离降低耦合度,解耦让分工协作更容易提高开发效率1. CSS

2020-09-28 21:36:27 112

原创 HTML 基础

HTML概念: 最基础的网页开发语言 Hyper Text Markup Language 超文本标签语言 超文本:用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本 标记语言:由标签构成的语言,标签语言不是编程语言1. 语法:html文档后缀名:.html 或 .htm标签分为围堵标签:有开始标签和结束标签,如 < html> < /html>自闭和标签:开始标签和结束标签在一起,如 < br/>在开始标签中可以定义属性,属性由键值对

2020-09-20 21:38:10 84

原创 JDBC

1

2020-09-18 19:23:47 94

原创 数据库MySQL

1. 数据库的概念数据库是用于存储和管理数据的仓库。特点:持久化存储数据(数据库其实就是一个文件系统);方便存储和管理数据;使用了统一的方式操作数据库(即SQL)。常见的的数据库软件:Oracle、MySQL、DB2等。2. MySQL数据库软件启动:手动cmd -> services.msc 打开服务的窗口再手动启动使用管理员打开cmdnet start mysql(数据库名):开启net stop masql:关闭登录:mysql -uroot -p密

2020-08-31 00:09:10 157

原创 数据结构与算法(上)

1. 稀疏数组数据结构包括 线性结构 和 非线性结构。稀疏数组:当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法记录数组一共几行几列,有多少个不同的值;把具体不同值的元素及值记录在一个小规模的数组中,从而缩小程序的规模。public class SparseArray { public static void main(String[] args) { //创建一个原始的二维数组5*5 int[][

2020-08-23 18:05:53 201

原创 题解6

687. 最长同值路径class Solution { int max; //存储最长路径 public int longestUnivaluePath(TreeNode root) { maxLong(root); return max; } public int maxLong(TreeNode node) { if(node == null) { return 0; }

2020-08-23 18:03:44 102

原创 题解5

402. 移除k位数字方法一:class Solution { public String removeKdigits(String num, int k) { if (num.length() == k) return "0"; /* String类是不可变类,即一旦一个String对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。 StringBuffer对象则代表一个字符序列

2020-08-16 15:29:29 92

原创 题解4

14. 最长公共前缀解法一:class Solution { public String longestCommonPrefix(String[] strs) { if(strs.length == 0) return ""; if(strs.length == 1) return strs[0]; //先找出前两个元素的公共前缀 String p = ""; p =

2020-08-09 14:47:51 72

原创 笔记3

1. Stream流在Java 8中,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。java.util.stream.Stream< T>是Java 8新加入的常用的流接口(这并不是一个函数式接口)。Stream流属于管道流,只能被消费(使用)一次。1.1 获取Stream流获取一个流的常用方法:所以的Collection集合都可以通过stream的默认方法获取流;default Stream< E> stream ()Stream接口的静态方法

2020-08-02 18:39:17 162

原创 题解3

12. 整数转罗马数字/*将所有数值从大到小排列存储到一个数值中,每一个数值相应的符号按相同顺序存储在另一个数组中遍历数组,如果num大于当前数,就添加对应的符号,一直到num小于当前数,然后接着判断下一个数*/class Solution { public String intToRoman(int num) { int[] values={1000,900,500,400,100,90,50,40,10,9,5,4,1}; String[] charac

2020-08-02 14:56:39 85

原创 笔记2

1. 网络编程网络编程可以直接或间接地通过网络协议与其他计算机进行通信。在Java中包含网络编程地各种类,通过创建这些类的对象,调用相应的方法,就可以进行网络应用程序的编写。软件结构C/S结构:全称为Client/Server结构,是指客户端和服务器结构。B/S结构:全称为Browser/Server结构,是指浏览器和服务器结构。网络通信协议: 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则。TCP/IP协议: 传输控制协议/因特网互联协

2020-07-26 17:45:36 162

原创 题解2

239. 滑动窗口最大值解法一:class Solution { //暴力解,直接遍历每一个滑动窗口,找到最大值 public int[] maxSlidingWindow(int[] nums, int k) { if(nums == null || nums.length < 2) return nums; int max; int[] maxvalue = new int[nums.length-k+1]

2020-07-26 16:57:39 76

原创 笔记1

1. 属性集概述:java.util.Properties 继承于Hashtable,来表示一个持久的属性集。它使用键值结构存储数据,每个键及其对应值都是一个字符串。该类也被许多Java类使用,比如获取系统属性时,System.getProperties 方法就是返回一个 Properties 对象。1.1 Properties类属性列表中每个键的对应值都是一个字符串,Properties集合是一个双列集合,key和value默认都是字符串。构造方法:public Properties():创

2020-07-19 22:06:04 132

原创 题解1

55. 跳跃游戏class Solution { //maxl记录目前能到达的最远距离,依次计算每一个位置,判断能否到达并更新最远距离 public boolean canJump(int[] nums) { if(nums.length == 1) return true; int maxl = nums[0]; for(int i = 1; i < nums.length; i ++){

2020-07-19 16:03:43 73

原创 第十四周题解

9.回文数class Solution { public boolean isPalindrome(int x) { if(x < 0) return false; int y = 0, t, n = x; while(x > 0){ t = x % 10; y = y*10 + t; x = x / 10; }

2020-07-05 17:39:47 132

原创 第十四周笔记

1. 字符流当使用字节流读取中文文件时,如果遇到中文字符,读出来的可能不是一个完整的文字,那是因为一个中文字符可能占用多个字节存储(GBK:占用两个字节、UTF-8:占用三个字节)。1.1 字符输入流Readerjava.io.Reader抽象类为用于读取字符的所有类的超类,可以读取字符信息到内存中,它定义了字符输入流的基本功性功能方法。public void close():关闭此流并释放与此流相关联的任何系统资源。public int read():从输入流读取一个字符。public in

2020-07-05 17:07:45 98

原创 第十三周笔记

1. File类java.io.File类是文件和目录途径名的抽象表示,主要用于文件和目录的创建,查找和删除等操作。java把电脑中的文件和文件夹(目录)封装为了一个File类,我们可以使用File类对文件和文件夹进行操作。File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法。file:文件directory:文件夹/目录path:路径1.1 File类的静态成员变量static String pathSeparator: 与系统有关的路径分隔符,为了方便,

2020-06-28 20:16:43 120

原创 第十三周题解

23. 合并K个排序链表class Solution { //因为给的链表都是排序链表,所以当前节点一定比下一个节点小,每一次从最小堆中出堆一个结点,只要这个结点不是尾结点,都将这个结点的下一个结点继续入堆 public ListNode mergeKLists(ListNode[] lists) { if (lists.length == 0) return null; //最小堆,堆中的数都按从小到大排列 Priority

2020-06-28 14:46:55 175 1

原创 第十二周笔记

1. 线程状态新建状态(New):当用new操作符创建一个线程时, 例如new Thread( r ),线程还没有开始运行,此时线程处在新建状态。 当一个线程处于新生状态时,程序还没有开始运行线程中的代码。就绪状态(Runnable):一个新创建的线程并不自动开始运行,要执行线程,必须调用线程的start()方法。当线程对象调用start()方法即启动了线程,start()方法创建线程运行的系统资源,并调度线程运行run()方法。当start()方法返回后,线程就处于就绪状态。运行状态

2020-06-21 19:54:09 324

原创 第十二周题解

134.加油站class Solution { public int canCompleteCircuit(int[] gas, int[] cost) { //all表示跑完一圈剩下的油,start为出发的站点,nowall为到目前为止剩下的油,cos为从当前加油站加了油减去到达下一个加油站需要的油 int all = 0, start = 0, nowall = 0, cos = 0; //如果跑完一圈还有油,则有答案 for(i

2020-06-21 15:20:48 84

原创 第十一周笔记

1.多线程(续上)1.主线程主线程: 执行main方法的线程。JVM执行main方法,main方法会进入到栈内存。JVM会找操作系统开辟一条main方法通向cpu的执行路径,cpu就可以通过这个路径来执行main方法,这个路径就是main(主)线程。单线程程序: Java程序中只有一个线程,执行从main开始,从上至下依次执行。...

2020-06-14 20:27:45 138

原创 第十一周题解

45. 跳跃游戏Ⅱ解法一:class Solution { public int jump(int[] nums) { int max = 0; //下一次能跳到的最远距离 int step = 0; //记录跳跃次数 int next = 0; //上一次能跳到的最远距离,即边界,如果预测的时候到达这个位置,步数就要+1 //从原点开始跳,预测目前站的地方能跳到的最远范围内的每一个位置,跳到下一次能跳到更远地方的位置,开始下一次

2020-06-14 15:45:52 170

原创 第十周笔记

1.JDK9对集合添加的优化 - of方法List接口,Set接口,Map接口:里面添加了一个静态的方法of,可以给集合一次性添加多个元素。static <E> List<E> of (E…elements)使用前提: 当集合中存储的元素的个数已经确定了,不再改变时使用注意:of方法只适用于List接口,Set接口,Map接口,不适用于接口的实现类。of方法的返回值是一个不能改变的集合,集合不能再使用add,put方法添加元素,会抛出异常。Set接口和Map接口在调用

2020-06-07 20:31:56 122

原创 第十周题解

44. 通配符匹配class Solution { public boolean isMatch(String s, String p) { int s_index = 0, p_index = 0, sstart = -1, pstart = -1; if ((p == null || p.isEmpty()) && (s == null || s.isEmpty())) return true; //遍

2020-06-07 14:53:48 90

原创 第九周笔记

3.7 Set集合存储元素不重复的原理3.8 HashSet存储自定义类型的元素3.9 LinkedHashSet集合

2020-05-31 16:39:37 301

原创 第九周题解

173. 二叉搜索树迭代器解法一:class BSTIterator { private TreeNode node = new TreeNode(); private LinkedList<Integer> list = new LinkedList<>(); //从小到大依次入栈 public BSTIterator(TreeNode root) { node = root; list = order(node);

2020-05-31 14:23:18 72

原创 第八周笔记

1. 泛型泛型概念: 泛型是一种未知的数据类型,当我们不知道是用什么数据类型的时候,就可以使用泛型。泛型也可以看成是一个变量,用来接收数据类型。Java泛型中的标记符含义:E - Element (在集合中使用,因为集合中存放的是元素)T - Type(Java 类)K - Key(键)V - Value(值)N - Number(数值类型)? - 表示不确定的java类型S、U、V - 2nd、3rd、4th typesArrayList集合在定义的时候,不知道集合中都会存储什么类

2020-05-24 17:39:55 133

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除