自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode每日一题14/?

验证回文字符串 Ⅱ题目描述:给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。输入输出样例输入: "abca"输出: True解释: 你可以删除c字符。题解:本题为简单题,运用双指针同时从两端向中间读取值判断是否相等。因为回文串满足对称性质,所以只要出现不等情况就分两种情况判断是否出现删除一端的一个数据能保证整个字符串为回文串;而因为之前遍历的数据已经确定满足对称性,所以只要删除后未判断的字符串满足回文性质,那么整个字符串就满足回文。具体代码#include &l

2021-05-18 20:23:38 162

原创 LeetCode每日一题13/?

平方数之和题目描述:给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。输入输出样例输入:c = 5输出:true解释:1 * 1 + 2 * 2 = 5题解:本题为简单题,类似于之前做过的两数之和的题。同样是运用双指针同时从两段向中间循环遍历求值。唯一要注意的一点是理解为何采用该方法不会少判。可以通过双指针的本质或者类比成二维数组判断查找来思考;参考教程:LeetCode精品题解具体代码#include <iostream>

2021-05-14 16:34:34 182

原创 LeetCode每日一题12/?

环形链表 II题目描述:给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。输入输出样例输入:head = [3,2,0,-4], pos = 1输出:返回索引为 1 的链表节点解释:链表中有一个环,其尾部连接到第二个节点。题解:本题为简单题,但需要

2021-05-11 10:10:40 174

原创 LeetCode每日一题11/?

合并两个有序数组题目描述:给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。输入输出样例输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6]题解:本题为

2021-05-06 15:21:09 97

原创 LeetCode每日一题10/?

两数之和题目描述:给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。输入输出样例输入:numbers = [2,7,11,1

2021-04-29 21:40:13 137

原创 LeetCode每日一题9/?

非递减数列题目描述:给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。输入输出样例输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。题解:本题为简单题,但也有坑需要注意;不能直接当发现下降时就直接修改上一个数

2021-04-28 21:14:57 172

原创 LeetCode每日一题8/?

根据身高重建队列题目描述:假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue ,其中 queue[j] = [hj, kj] 是队列中第 j 个人的属性(queue[0] 是排在队列前面的人)。输入输出样例输入:people

2021-04-27 11:44:12 126

原创 LeetCode每日一题7/?

买卖股票的最佳时机 II题目描述:给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。输入输出样例输入: prices = [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4

2021-04-26 09:23:52 94

原创 LeetCode每日一题6/?

划分字母区间题目描述:字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。输入输出样例输入:S = "ababcbacadefegdehijhklij"输出:[9,7,8]解释:划分结果为 "ababcbaca", "defegde", "hijhklij"。每个字母最多出现在一个片段中。像 "ababcbacadefegde", "hijhklij" 的划分是错误的,因为划分的片段数较少。题解

2021-04-25 19:58:31 81

原创 LeetCode每日一题5/?

用最少数量的箭引爆气球题目描述:在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。我们想找

2021-04-24 20:05:50 125

原创 LeetCode每日一题4/?

种花问题题目描述:假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花?能则返回 true ,不能则返回 false。输入输出样例输入:flowerbed = [1,0,0,0,1], n = 1输出:true题解:本题为简单题,使用能种就种的

2021-04-23 18:20:47 83

原创 LeetCode每日一题3/?

无重叠区间题目描述:给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠输入输出样例Input: [ [1,2], [2,3], [3,4], [1,3] ]Output: 1题解:因为在选择要保留区间时,区间的结尾十分重要:选择的区间结尾越小,余留给其它区间的空间就越大,就越能保留更多的区间。因此,我们采取的贪心策略为,优先保留结尾小且不相交的区间。具体实

2021-04-22 18:24:40 80

原创 LeetCode每日一题2/?

糖果分配题目描述:一群孩子站成一排,每一个孩子有自己的评分。现在需要给这些孩子发糖果,规则是如果一个孩子的评分比自己身旁的一个孩子要高,那么这个孩子就必须得到比身旁孩子更多的糖果;所有孩子至少要有一个糖果。求解最少需要多少个糖果。输入输出样例输入是一个数组,表示孩子的评分。输出是最少糖果的数量。Input: [1,0,2]Output: 5在这个样例中,最少的糖果分法是[2,1,2]。题解:本题为简单题,采用贪心算法进行两次遍历即可;把所有孩子的糖果数初始化为1;先从左往右遍历一遍,

2021-04-21 19:31:45 146

原创 LeetCode每日一题1/?

饼干分配题目描述:有一群孩子和一堆饼干,每个孩子有一个饥饿度,每个饼干都有一个大小。每个孩子只能吃最多一个饼干,且只有饼干的大小大于孩子的饥饿度时,这个孩子才能吃饱。求解最多有多少孩子可以吃饱。输入输出样例输入两个数组,分别代表孩子的饥饿度和饼干的大小。输出最多有多少孩子可以吃饱的数量。Input: [1,2], [1,2,3]Output: 2在这个样例中,我们可以给两个孩子喂[1,2]、[1,3]、[2,3]这三种组合的任意一种题解:本题为简单题,采用贪心算法即可;因为饥饿度最小

2021-04-20 20:26:39 941

原创 从零开始的Java学习生活(16)

文章目录前言一、多态(1)什么是多态(2)程序中的多态3)多态示例(4) 多态中成员访问的特点(5)多态的好处和弊端总结前言在前篇文章中我们讲解了Java三大特性之一的继承性,本篇文章中我们将继续对面向对象编程的学习,了解并学习最后一个特性——多态性。一、多态(1)什么是多态多态:指的是对象的多态性,同一对象在不同时刻表现出来的不同形态。例如:猫我们可以说猫是猫:猫 cat = new 猫();也可以说猫是动物:动物 animal = new 猫();这里猫在不同的时刻表现出来了不同的

2021-01-05 17:25:56 73

原创 从零开始的Java学习生活(15)

文章目录前言一、继承二、使用继承1.继承的语法2.父类、子类构造方法3.super关键字4. this关键字5. this和super的区别6. 方法重写总结1. Java中继承的特点2. 继承的好处和弊端前言在前篇文章中我们讲解了Java三大特性之一的封装性,本篇文章中我们将继续对面向对象编程的学习,了解并学习剩下的两大特性之一的继承性。一、继承**继承(inherit)**也是面向对象三大特性之一。生活中的继承:某某继承了父亲百亿资产;某某继承了家族产业等等。简单来看,继承就是获得了原本不

2020-12-15 09:55:12 285

原创 从零开始的Java学习生活(14)

文章目录面向对象编程(2)一、封装(1)private1. 通过private把属性隐藏起来2. 通过setter、getter方法访问属性3. setter/getter和直接访问的异同(2)this3)构造方法1. 构造方法的特点2. 构造方法的书写格式3. 构造方法示例4. 构造方法的使用(4)标准的Java类1. 标准Java类的定义原则2. 标准Java类示例(6)封装总结面向对象编程(2)面向对象语言有三大特性:封装、继承和多态。本文我们先来讲一讲封装性。一、封装在讲解**封装(en

2020-11-26 20:19:12 414

原创 从零开始的Java学习生活(13)

文章目录类与对象一、pandas是什么?二、使用步骤1.引入库2.读入数据总结类与对象一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarni

2020-11-26 19:30:23 87

原创 从零开始的Java学习生活(12)

文章目录从零开始的Java学习生活(12)一、形参、实参(1)形参(2)实参二、方法重载二、使用步骤1.引入库二、方法练习(1)打印2个数的最大值(2)求2个数的最大值(3)求从min到max的和(4)数7游戏总结从零开始的Java学习生活(12)在上一篇文章中,我们初步了解了什么是方法以及方法使用的基本操作,接下来我们将继续方法的学习,深入了解方法在我们编程生活中的使用。(我不是故意咕咕的 )先来了解两个概念:一、形参、实参(1)形参形参:全名叫形式参数,出现在方法定义中,形参只是用来占位的

2020-11-20 08:15:19 303

原创 从零开始的Java学习生活(11)

文章目录从零开始的Java学习生活(11)一、方法的概述二、 方法的定义1) 方法定义的格式(2) 方法定义示例三、方法的调用(1)方法调用的格式(2) 方法调用的示例四、方法的分类(1)无参数无返回值方法1. 无参数无返回值方法的定义格式2.无参数无返回值方法示例3. 无参数无返回值方法的调用格式4. 无参数无返回值方法的调用示例(2)无参数有返回值方法1. 无参数有返回值方法的定义格式2. 无参数有返回值方法示例3. 无参数有返回值方法的调用格式4. 无参数有返回值方法的调用示例(3)有参数无返回值方法

2020-10-30 09:19:52 90

原创 从零开始的Java学习生活(10)

文章目录从零开始的Java学习生活(10)一、数组的遍历(1)什么是数组遍历(2)数组元素个数(3)数组遍历的通用格式(4)数组遍历的应用二、数组操作1.数组插入数据2.数组数据的删除3.数组数据的排序(1) 冒泡排序(2) 选择排序数组总结从零开始的Java学习生活(10)在上文中,我们初步了解了什么是数组以及数组的初始化、访问方法。今天我们将继续数组的学习,了解并学会如何对数组进行增删改查等基本操作。一、数组的遍历(1)什么是数组遍历数组的遍历:指的是获取数组中的每个元素。还记得我们上节课

2020-10-23 08:40:58 204

原创 从零开始的Java学习生活(9)

文章目录从零开始的Java学习生活(9)一、数组是什么?1.数组的特点2.为什么要使用数组二、如何定义数组三、数组的初始化1. 动态初始化2. 静态初始化四、数组的访问(1)数组的访问(2)数组元素的访问总结从零开始的Java学习生活(9)在上文中,我们详细讲解了Java中的循环语句以及循环语句中会用到的关键字,本篇文章我们将学习了解一个新的知识点——数组。一、数组是什么?数组是一种特殊的数据类型,这种数据类型用于存储一组数据类型相同的数据。简单来说,数组就是一个容器,用于存储一组数据,这组数据具

2020-10-14 20:10:48 112

原创 从零开始的Java学习生活(8)

文章目录从零开始的Java学习生活(8)一、for、while、do..while区别二、死循环三、break、continue关键字(1)break关键字(2)continue关键字(3)break、continue总结四、循环嵌套循环总结从零开始的Java学习生活(8)在上文中,我们讲解了Java中分支语句和循环语句的简单代码写法,本篇文章我们将继续深入学习了解循环结构的代码写法。一、for、while、do…while区别首先我们来复习一下三种语句的区别,来看下面一段代码: public

2020-10-10 17:20:01 89

原创 从零开始的Java学习生活(7)

文章目录从零开始的Java学习生活(7)一、顺序结构二、分支结构1.if语句2.switch..case语句总结从零开始的Java学习生活(7)前期提要:在上期文章中,我们学习了Java中同时也是各大语言中的流程控制语句。今天我们讲一下这些语句在Java中具体代码的使用。一、顺序结构顺序结构就是一个程序的基础运行流程,在代码上显示为从上往下一次运行编写的代码,不需要添加别的关键字。这也是最简单的流程结构。二、分支结构1.if语句(1)第一种类型:格式如下:if(关系表达式){

2020-10-09 08:24:07 174

原创 从零开始的Java学习生活(6)

文章目录从零开始的Java学习生活(6)一、顺序结构二、分支结构(选择结构)三、循环结构总结从零开始的Java学习生活(6)前期提要:在上期文章中,我们学习了Java中通过Scanner类进行的数据输入。今天我们讲一下程序书写中基础但很重要的流程控制语句,掌握Java流程控制有助于我们编写代码、调试代码以及阅读别人代码。(具体的java代码将放在下节课中)一、顺序结构顺序结构是程序中最简单、最基本的结构,顺序结构没有特定的语法结构,它按照代码的先后顺序,依次执行。程序中大多数的代码都是这样执行的。

2020-10-03 22:08:52 135

原创 从零开始的Java学习生活(5)

文章目录从零开始的Java学习生活(5)一、数据输入(1)Scanner使用的基本步骤(2)Scanner的深入理解总结从零开始的Java学习生活(5)前期提要:在上期文章中,我们进行了有关Java数据类型的两种转换方式,以及主要的几种运算符。现在我们对如何利用Java进行简易的数学或逻辑计算已经有了一个大概的认识。今天我们讲一下如何在控制台输入数据。一、数据输入在我们的Java程序中,想要接受用户输入的数据,需要使用Scanner这个类。Scanner是Java提供好的专门用于接受输入的类。

2020-09-28 10:33:42 87

原创 从零开始的Java学习生活(4)

文章目录从零开始的Java学习生活(4)一、类型转换1.自动类型转换2.强制类型转换二、运算符1.赋值运算符(=)2.算术运算符(+、-、*、/、%)3.复合运算符(+=、-=、*=、/=、%=)4.自增自减运算符(++、--)5.关系运算符(==、!=、>、>、>=、<、<=)6.逻辑运算符(&、|、!、^、&&、||)7.三目运算符(? :)8.运算符的优先级总结从零开始的Java学习生活(4)前期提要:在上一篇文章中,我们讲解了Java中常量

2020-09-24 20:31:17 97

原创 从零开始的Java学习生活(3)

文章目录从零开始的Java学习生活(3)一、常量二、数据类型1.计算机存储单元2.数据类型的分类3.数据的默认类型三、变量(1)变量的使用(2)变量名的命名规范(3)变量使用的注意事项总结从零开始的Java学习生活(3)前期提要:在上一期中,我们继续通过HelloWorld代码,讲解了Java语言基础中的关键字和常用注释。接下来我们将正式开始JavaSE的代码部分的学习。一、常量作为一名程序猿,我们肯定都知道,一种语言,不可能就只有打印出来一段话这种功能(作者你看不起谁呢 ),中间肯定要有数字

2020-09-23 21:35:38 304

原创 从零开始的Java学习生活(2)

文章目录从零开始的Java学习生活(2)一、关键字二、注释1.单行注释2.多行注释3.文档注释总结从零开始的Java学习生活(2)前期提要:在上一篇中,我们通过了最简单的输出HelloWorld代码,讲解了系统输出指令和常用的转义字符,踏出了Java学习的第一步。本篇文章将继续通过上述代码,为大家讲一下Java语言基础。一、关键字我们先来通过一张图片看一下下面的代码在Eclipse上的显示情况:注意到那几个梅红色的单词了吗?这些就是我们标题说的关键字了,关键字指的就是被Java语言提前赋予特

2020-09-21 20:24:04 128

原创 从零开始的Java学习生活(1)

从零开始的Java学习生活(1)文章目录从零开始的Java学习生活(1)前言一、HelloWorld二、控制台输出语句1.System.out.println();2.System.out.print();3.转义字符;总结前言1.本人是一名新晋大二学生,本系列内容是本人跟着书上自学时作为笔记整理用。所以有些地方难免会理解错误之类的,如果看到错误的地方,请指出来,或者有什么不理解的地方也可以提出来,大家一起进步。2.由于很多基础知识网上已经有大神整理好了优质版本,这些地方可能会直接引用,当然也会带

2020-09-21 09:21:55 1056 2

空空如也

空空如也

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

TA关注的人

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