自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【LeetCode】面试题01.06 字符串压缩

字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例1: 输入:"aabcccccaaa" 输出:"a2b1c5a3"示例2: 输入:"abbccd" 输出:"abbccd" 解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。class Solution: def .

2021-01-31 19:45:03 345

原创 【LeetCode】整数反转

给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。如果反转后整数超过 32 位的有符号整数的范围[−231, 231− 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。输入:x = 123输出:321输入:x = -123输出:-321输入:x = 120输出:21输入:x = 0输出:0提示:-231 <= x <= 231 - 1def reverse(x:int) -> int:...

2021-01-30 10:59:11 218

原创 【LeetCode】905.按奇偶排序数组

给定一个非负整数数组A,返回一个由A的所有偶数元素组成的数组,后面跟A的所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。class Solution { public int[] sortArrayByParity(...

2020-12-25 01:13:40 195

原创 【LeetCode】876.链表的中间节点

给定一个带有头结点head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans.ne...

2020-12-25 01:13:22 107

原创 【LeetCode】852.山脉数组的峰顶元素

我们把符合下列属性的数组A称作山脉:A.length &gt;= 3 存在0 &lt; i&lt; A.length - 1使得A[0] &lt; A[1] &lt; ... A[i-1] &lt; A[i] &gt; A[i+1] &gt; ... &gt; A[A.length - 1]给定一个确定为山脉的数组,返回任何满足A[0] &lt; A[1] &lt; ... A...

2020-12-25 01:13:01 148

原创 【LeetCode】83.删除排序链表中的重复元素

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入: 1->1->2输出: 1->2示例2:输入: 1->1->2->3->3输出: 1->2->3class Solution { public ListNode deleteDuplicates(ListNode head) ...

2020-12-25 01:12:41 92

原创 【LeetCode】922.按奇偶排序数组II

给定一个非负整数数组A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当A[i]为奇数时,i也是奇数;当A[i]为偶数时,i也是偶数。你可以返回任何满足上述条件的数组作为答案。示例:输入:[4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。class Solution {...

2020-12-25 01:11:51 151

原创 ProcDump

ProcDump是一个控制台工具,可用于监视进程,并在满足所指定的相关条件,或性能计数器超出阈值时为进程创建用户模式的转储文件。ProcDump可在某一个条件满足时创建一个转储,或在每次出现问题后持续创建转储。ProcDump也可立即创建转储,或定期生成一系列转储。...

2020-12-25 01:06:08 469

原创 Process Explorer工具

procexp

2020-12-23 01:27:31 3139

原创 Process Monitor工具

Procmon软件使用教程Procmon是微软出品用于监视Windows系统里程序的运行情况,监视内容包括该程序对注册表的读写、对文件的读写、网络的连接、进程和线程的调用情况,procmon是一款超强的系统监视软件。...

2020-12-17 23:06:05 641

原创 【数据结构】判断一个数是否是另一个树的子树

输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)1.首先要在母树中找到与子树根节点相同的节点,将其存在栈中2.依次取出栈顶节点,判断此节点的左右孩子与子树根节点的左右孩子是否相等/**public class TreeNode { int val = 0; TreeNode left = null; TreeNo...

2019-08-31 14:25:29 354

原创 【Python】面向对象基本语法2

目录1.单继承2.多继承3.方法重写4.类属性与方法4.1类的私有属性4.2类的方法4.3类的私有方法4.4类的专有方法1.单继承Python同样支持类的继承。派生类的定义如下:class Student(Person): <statement-1> . . . <statement-N...

2019-05-23 16:45:05 163

原创 【Python】基础知识

目录1.注释1.1注释的作用1.2单行注释(行注释)1.3多行注释(块注释)2.算数运算符2.1算数运算符2.2算数运算符的优先级3.变量的基本使用3.1变量定义3.2变量的类型3.3不同类型变量之间的计算3.4变量的输入1.注释1.1注释的作用在程序中对某些代码进行标注说明,增强程序的可读性。1.2单行注释(行注释) ...

2019-05-21 12:26:41 177

原创 【Python】面向对象基本语法

目录1.定义简单的类(只包含方法) 1.1定义只包含方法的类1.2创建对象1.3第一个面向对象程序1.4引用的概念2.方法中的self参数2.1给对象添加属性2.2使用self在方法内部输出对象的名字3.初始化方法3.1在类的外部给对象添加属性3.2初始化方法3.3在初始化方法内部定义属性3.4改造初始化方法——初始化的同时设置...

2019-05-18 23:49:08 260

原创 Java版-跨平台搜索小工具

一、项目简介 基于Java语言开发的命令行文件搜索小工具。二、项目背景 在Windows平台下进行文件搜索时,只能查询到当前目录下的文件,而且也不如Linux下的find命令好用,所以DIY开发一款命令行工具,可以实现全盘搜索文件。三、实现意义1.解决了Windows命令行下文件搜索的盘符限制问题,可以搜索整个文件系统的内容2.基于Java开发的...

2019-03-05 12:36:21 285

原创 Java版-飞鸽传信

一、项目简介 简单实现多个客户端之间的通信功能。二、项目功能用户上线,通知服务器注册并统计群聊人数; 所有用户可以进行群聊,以及可以指定用户进行私聊; 用户下线,通知服务器,服务器更新信息。三、具体设计 首先,聊天室的项目是建立在Socket编程基础上,Socket编程的操作流程如下:1.先建立连接,直到目标服务器的IP地址与端口号2.获取本连接的...

2019-03-05 12:25:50 386

原创 【LeetNode】2.两数相加

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -&gt; 4 -&gt; 3) + (5 -&gt; 6 -&gt; 4)输出:7 -&gt; 0 -&g...

2019-02-24 19:16:25 243

原创 【LeetCode】61.旋转链表

给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL, k = 2输出: 4-&gt;5-&gt;1-&gt;2-&gt;3-&gt;NULL解释:向右旋转 1 步: 5-&gt;1-&gt;2-&gt;3-&gt;4-&gt;NULL向右旋转 2 步: 4-

2019-02-24 18:15:05 245

原创 【LeetCode】234.回文链表

请判断一个链表是否为回文链表。示例 1:输入: 1-&gt;2     输出: false示例 2:输入: 1-&gt;2-&gt;2-&gt;1     输出: true        代码如下:class Solution { public boolean isPalindrome(ListNode head) { //如果是一条空链表或是...

2019-02-23 17:50:16 175

原创 【JavaSE】之集合类

目录1.Java类集简介1.1Collection接口2.List接口-允许元素重复2.1ArrayList(优先考虑)2.2Vector2.3ArrayList与Victor的区别:2.4LinkedList-基于链表实现的动态数组3.Set接口-不允许重复元素(Set接口就是value值相同的Map接口,先有Map才有Set)3.1HashSet-无序存储...

2019-02-19 18:25:24 220

原创 【JavaSE】之IO

1.File文件操作类java.io包中,File类是唯一一个与文件本身操作(创建、删除、取得信息)有关,与文件内容无关的程序类。1.1File类(既可描述真实文件,也可是个文件夹)的基本使用File类的两种实例化方式:public File(String pathname) [绝对路径]public File(String parent,String child):设置父路径...

2019-02-16 21:00:30 264

原创 【JavaSE】之反射

1.认识反射机制1.1初识反射反射指得是对象的反向处理。根据对象倒推类的组成。例:观察正常处理import java.util.Date;public class Test{ public static void main(String[] args){ Date date = new Date(); }}所谓的“反”指的是根据对象来取得...

2019-02-15 18:56:09 181

原创 【JavaSE】多线程之Lock体系

1.Lock简介        JDK1.5之后,增加了lock接口,它提供了与synchronized一样的锁功能。拥有锁获取和释放的可操作性,可中断的获取锁以及超时获取锁等多种synchronized关键字不具备的同步特性。使用lock的形式如下:Lock lock = new ReentrantLock();lock.lock();try{ lock.lock();...

2019-02-15 16:14:28 294

原创 【JavaSE】多线程之线程池

1.使用线程池的优点:I.降低资源的消耗:通过重复利用已创建的线程降低线程创建于销毁带来的损耗。II.提高响应的速度:当新任务到达时,任务不需要等待线程创建就可以立即执行。III.提高线程的可管理性:使用线程池可以统一进行线程的分配、调度与监控。2.线程池执行任务的流程:当一个Runnable或Callable对象到达线程池时,执行策略如下:第一步:首先判断核心线程...

2019-02-10 22:14:34 580

原创 【JavaSE】多线程之生产者与消费者模型

wait()与noyify()用于同步代码块或同步方法必须是内建锁1. wait()—痴汉方法(运行态回阻塞态)wait()就是使线程停止运行,会释放对象锁。I.wait()方法会使当前线程调用该方法后进行等待,并且将该线程置入锁对象的等待队列中,直到接到通知或被中断为止。II.wait()方法只能在同步方法或同步代码块中调用,如果调用wait()时没有适当的锁,会抛出异常。...

2019-02-09 12:20:52 232

原创 【JavaSE】多线程之同步与死锁

产生原因:多个线程在同一时刻访问共享资源(临界区)1.synchronized(内建锁)实现同步处理(加锁操作)        在方法中使用synchronized(对象),一般可以锁定当前对象this,表示同一时刻只有一个线程能够进入同步代码块,但是多个线程可以同时进入方法。class MyThread implements Runnable{ private int ti...

2019-02-08 13:18:00 168

原创 【JavaSE】多线程之基础知识

目录:1.进程与线程的概念2.Java多线程实现2.1继承Thread类实现多线程2.2实现Runnable接口来实现多线程2.3继承Thread类与实现Runnable接口的关系2.4实现Callable&lt;V&gt;实现多线程​​​​​​3.多线程常用操作方法3.1线程的命名与取得3.2线程休眠方法sleep3.3线程让步方法yield3.4等待...

2019-02-06 21:48:44 260

原创 【JavaSE】之新特性概述

目录:1.枚举2.注解3.Lambda表达式4.方法引用1.枚举—引用类型首先回顾多例设计模式的特点:构造方法私有化,类内部需要提供若干个实例化对象,后面通过static方法返回。例:class Color{ private String title; public static final int RED_FLAG = 1; publi...

2019-02-05 23:34:45 181

原创 【JavaSE】之泛型

目录 1.JDK1.5新特性1.1可变参数1.2for each 循环用于数组与类集的简单输出1.3静态导入 2.泛型2.1泛型类2.2泛型方法2.3通配符(重点)2.3.1 ?-可以接收任意类型(仅用于方法参数)2.3.2 ? extend 类:设置/取得泛型上限2.3.3 ? super 类:取得泛型下限-只能用于方法中2.4泛型接口2....

2019-02-04 21:50:06 641

原创 【JavaSE】之单例模式与异常体系

目录1.包的定义及使用、访问控制权限2.单例设计模式与多例设计模式3.Java异常与捕获1.包的定义及使用1.1包的本质实际上就是文件夹定义用:packagepackage www.bit.java;一旦程序出现包名称,那么*.class必须存在相应目录下。在JDK编译的时候使用配置参数。打开包编译命令:javac -d . 类名.java-d表示生成目...

2019-02-03 15:46:06 286

原创 【JavaSE】抽象类与接口

1.抽象类的定义与使用定义:抽象类只是在普通类的基础上扩充了一些抽象方法而已。抽象方法:指的是只声明而未实现的方法(没有方法体)所有抽象方法要求使用abstract来定义,并且抽象方法所在的类也一定要使用abstract来定义,表示抽象类。例:定义一个抽象类abstract class Person{ //属性 private String name; ...

2019-02-01 22:25:50 274

原创 【JavaSE】内部类的简单使用

                                           内部类的简单使用1.内部类的基本概念    内部类:就是在一个类的内部进行其他类结构的嵌套操作。    例:内部类的简单定义:class Outter{ private String msg = "Outter中的字符串"; //定义一个内部类 //-----------...

2019-01-26 18:15:12 2524

原创 【LeetCode】35.搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0...

2018-11-23 12:27:27 136

原创 【JavaSE】之Object类

                                   .java.long.Object类(RealFather)Object类是Java默认提供的类1.Java除了Object类,所有的类都存在继承关系,默认会继承Object父类,所有类对象都可以通过Object类进行接收class Father{}class Child{}public class test{...

2018-11-21 17:57:01 140

原创 【LeetCode】26.删除排序数组的重复项

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例 2: 给...

2018-11-21 17:53:13 117

原创 【LeetCode】203.移除链表元素

删除链表中等于给定值 val 的所有节点。示例:输入: 1-&gt;2-&gt;6-&gt;3-&gt;4-&gt;5-&gt;6, val = 6输出: 1-&gt;2-&gt;3-&gt;4-&gt;5           注意:一定要判断头结点是否为被删除的结点,如果要删除,则要修改头结点class Solution { public ListNode re...

2018-11-19 20:40:01 619

原创 【LeetCode】24.两两交换链表中的节点

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定 1-&gt;2-&gt;3-&gt;4, 你应该返回 2-&gt;1-&gt;4-&gt;3思路:因为都是先交换两个节点,在合并。即可以转化为子问题求解。class Solution { public ListNode swapPairs(ListNode head) { //如果此...

2018-11-16 21:37:32 114

原创 【LeetCode】141.环形链表

给定一个链表,判断链表中是否有环。方法:双指针通过使用具有不同速度的快、慢两个指针遍历链表。慢指针每次移动一步,而快指针每次移动两步。如果列表中不存在环,最终快指针将会先到达尾部,此时可以直接返回false。如果存在环,把慢指针和快指针可以想象成在跑道上跑步的运动员,而快跑者最终一定会追上慢跑者。public class Solution { public boole...

2018-11-16 20:33:52 129

原创 【LeetCode】121.买卖股票的最佳时机

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 ...

2018-11-16 19:39:55 141

原创 【JavaSE】之String类

                                              .java.long.String类1.String类的两种实例化方式a.直接赋值(直接赋值,在堆上分配空间)String str1 = "Hello World";System.out.println(str1);b.传统方法(通过构造方法实例化String对象)String s...

2018-11-16 19:32:54 207

空空如也

空空如也

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

TA关注的人

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