3 CS-Bob

尚未进行身份认证

做一些笔记,在自己有需要复习的时候回来看一看

等级
TA的排名 25w+

面试题57 - II. 和为s的连续正数序列

面试题57 - II. 和为s的连续正数序列题目描述输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。题目来源示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]限制:1 <= target <= 10^5解题思路我们可以利用滑动窗口解决这个问题

2020-05-09 19:10:27

Leetcode 665. 非递减数列 (Java实现)

题目描述题目来源给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 <= i < n),总满足 array[i] <= array[i + 1]。示例 1:输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成...

2020-05-01 20:13:45

Leetcode 473. 火柴拼正方形 (Java实现)

题目描述题目来源还记得童话《卖火柴的小女孩》吗?现在,你知道小女孩有多少根火柴,请找出一种能使用所有火柴拼成一个正方形的方法。不能折断火柴,可以把火柴连接起来,并且每根火柴都要用到。输入为小女孩拥有火柴的数目,每根火柴用其长度表示。输出即为是否能用所有的火柴拼成正方形。示例 1:输入: [1,1,2,2,2]输出: true解释: 能拼成一个边长为2的正方形,每边两根火柴。示例 2...

2020-04-29 21:00:43

牛客_剑指Offer_编程题 :把二叉树打印成多行

题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。把二叉树打印成多行解题思路使用一个ArrayList<ArrayList>保存各层次节点Queue 暂存下一层节点循环部分:使用变量levelNum 暂存queue当前层的节点数目每次获取queue队列顶部的节点,从左到右遍历同时使用tmpList保存每一层的数据,添加到resultList...

2020-04-24 22:26:27

牛客_剑指Offer_编程题 :把二叉树打印成多行

题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。解题思路代码实现import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;class TreeNode { int val = 0; TreeNode left = null; TreeN...

2020-04-24 22:00:21

牛客_剑指Offer_编程题 :二叉搜索树的第K个节点

题目描述给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。二叉搜索树的第K个节点解题思路:二叉搜索树的中序遍历为 递增序列 。求解第k个节点相当于递增序列从左到右第k个节点:递归遍历计数,统计当前节点序号count递归统计计数到k时,满足题目要求,保存结果节点到全局变量中递归结束,后续遍历为...

2020-04-24 19:48:52

62.不同路径

不同路径一个机器人位于一个 m x n 网格的左上角机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角问总共有多少条不同的路径?示例 1:输入: m = 3, n = 2输出: 3解释:从左上角开始,总共有 3 条路径可以到达右下角。向右 -> 向右 -> 向下向右 -> 向下 -> 向右向下 -> 向右 -> 向右示例...

2020-04-19 18:17:51

319. 灯泡开关

灯泡开关初始时有 n 个灯泡关闭。 第 1 轮,你打开所有的灯泡。 第 2 轮,每两个灯泡你关闭一次。 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭)。第 i 轮,每 i 个灯泡切换一次开关。 对于第 n 轮,你只切换最后一个灯泡的开关。 找出 n 轮后有多少个亮着的灯泡。来源:...

2020-04-15 00:15:09

Win10误删应用商店和计算的恢复办法

管理员模式打开powershell 命令窗口,输入以下重装应用商店的命令。Get-AppXPackage *WindowsStore* -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}计算器恢复:Get-Ap...

2019-10-14 22:01:25

使用Digitalocean服务器部署项目的时候开发端口的时候遇到Unit firewalld.service could not be found.错误

问题描述:因为在Digitalocean用了5$嫖了一年的服务器,想着不用白不用,所以想把自己的一个新项目部署到服务器上,但是需要开发8080端口,在网上找了很多回答,都解决不了,最终在一篇文章的评论下方找到了解决方法Unitfirewalld.servicecouldnotbefound.直接拉取firewall-cmd:yuminstallfirewalld...

2019-09-26 23:44:12

linux环境下运行jar包相关命令

将linux服务器部署jar包的相关命令,以及可能涉及到的相关命令尽量罗列出来直接运行jar包 java -jar ***.jar直接运行jar包的话控制台的输出会显示到前台,并且该远程连接不能关闭,如果关闭的话,该服务的进程就会被杀死后台运行jar包java -jar ***.jar &当前ssh窗口不被锁定,后台仍然可以运行,但是当窗口关闭时,进程中止...

2019-09-26 23:40:30

JAVA AIO编程

AIO 异步非阻塞的编程方式进行读写操作的时候,只需要调用api的read和write方法即可,这两种方法均为异步的。对于读操作而言,当有流可读取的时候,操作系统会将可读的流传入read方法的缓存区,并通知应用;对于写操作而言,当操作系统将write方法传递的流写入完毕,操作系统通知应用程序。可以理解为read/write方法是异步的,完成后主动回调函数。异步非阻塞,服务器实现模式为一个有效请...

2019-04-25 17:57:19

Java NIO编程

NIO 同步非阻塞的编程方式主要是解决BIO的大并发问题,NIO最重要的地方是当一个连接创建后,对应一个线程,这个连接会被注册到多路复用器上面,所以所有的连接只需要一个线程就可以完成,当这个线程中的多路复用器进行轮询的 时候,发现连接上有请求的时候,才开启线程进行处理,也就是一个请求一个线程模式。NIO的处理方式中,当一个请求来的时候,开启线程进行处理,可能会等待后端的资源连接等等,其实该线程...

2019-04-25 00:28:28

Java网络编程

SocketSocket,又称为套接字,Socket是计算机网络通信的基本的技术之一。BIO编程BlockingIO编程,同步阻塞的编程方式。BIO编程方式通常是JDK1.4之前的编程方式。首先在服务端启动一个ServerSocket 来监听网络请求,客户端启动Socket发起网络请求,默认情况下ServerSocket 会建立一个线程来处理此请求,如果服务端没有线程可以使用,客户端会阻塞...

2019-04-24 10:02:51

Java反射的理解

一、Java反射机制Java 反射机制在程序运行时,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。这种动态的获取信息 以及 动态调用对象的方法 的功能称为 java 的反射机制。反射机制很重要的一点就是“运行时”,其使得我们可以在程序运行时加载、探索以及使用编译期间完全未知的 .class 文件。换句话说,Java 程序可以加载一个运行...

2019-04-08 22:32:27

Java的实例化的启动顺序

一、静态和非静态加载/执行顺序静态加载:静态分为静态变量和静态代码块,加载顺序位类中代码所处的先后顺序进行加载非静态加载: 按照非静态书写顺序加载/执行静态方法、实例方法只有在调用的情况下才回去执行静态加载中遇到需要加载非静态:先加载非静态在加载静态。1.不涉及到父类子类的加载顺序首先将所有静态成员变量加载进来, 但是不赋值,JVM会根据属性的数据类型第一时间赋默认值然互再进行...

2019-04-07 21:11:11

Java Property类使用详解

概念理解Properties 继承于 Hashtable。表示一个持久的属性集,属性列表以key-value的形式存在,key和value都是字符串。Properties类被许多Java类使用。例如,在获取环境遍历时它就作为System.getProperties()方法的返回值。我们在很多需要避免硬编码的应用场景下需要使用Properties文件来加载程序需要配置的信息,比如JDBC、MyBa...

2019-04-06 22:39:36

接口和抽象类的区别

对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。一.抽象类抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为:abstract void fun();抽象方法必须用abstract关键字进行修饰。如果一个类含有抽象方法,则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰。二.接口接口泛...

2019-03-25 11:53:38

Java泛型理解

前言:  当元素存入集合时,集合会将元素转换为Object类型存储,当取出时也是按照Object取出的,所以用get方法取出时,我们会进行强制类型转换,并且通过代码也可以看出来,我们放入其他类型时,如字符串,编译器不会报错,但是运行程序时会抛出类型错误异常,这样给开发带来很多不方便,用泛型就解决了这个麻烦。  泛型规定了某个集合只能存放特定类型的属性,当添加类型与规定不一致时,编译器会直接报错...

2019-03-25 11:53:24

Java的集合框架理解

一.集合框架主要接口No接口说明1CollectionCollection 是层次结构 中的根接口。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。2ListCollection接口的3SetCollectio...

2019-03-24 17:10:50
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。