自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 两数之和学习(自用)

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。用哈希表解决此类题感觉最合适。你可以按任意顺序返回答案。:可以使用穷举法破解此题。

2023-07-15 15:51:23 72

原创 求幂学习(自用)

给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true;否则,返回 false。给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true;否则,返回 false。如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x。:判断该数是否能够除以2到最后为值1,若能为1则说明是2的幂次方。

2023-07-13 11:54:44 92

原创 赎金信学习(自用)

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。**本题思路:**只要满足magazine中的每一个字符大于或等于ransomNote中的字符即可解决本题`magazine 中的每个字符只能在 ransomNote 中使用一次。如果可以,返回 true;否则返回 false。

2023-07-10 14:44:46 97

原创 O(1) 时间插入、删除和获取随机元素学习(自用)

*解题思路:**本题使用哈希表完成,相当于学习哈希表的构建以及一系列的操作。你必须实现类的所有函数,并满足每个函数的 平均 时间复杂度为 O(1)。

2023-07-09 14:25:01 118

原创 判断子序列学习(自用)

字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。给定字符串 s 和 t ,判断 s 是否为 t 的子序列。

2023-06-15 15:10:34 21

原创 验证回文串学习(自用)

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串。首先将原字符串缩减为符合题目要求的只含有小写字母与数字的字符串,接着使用双指针判断是否为回文。给你一个字符串 s,如果它是 回文串 ,返回 true;否则,返回 false。本此复习了在java中如何对字符串进行进一步的操作,创建字符串以及对字符串赋值。字母和数字都属于字母数字字符。

2023-06-15 14:53:14 26

原创 加油站学习(自用)

给定两个整数数组 gas 和 cost ,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。如果存在解,则 保证 它是 唯一 的。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。

2023-06-14 15:58:18 42

原创 除自身以外数组的乘积学习(自用)

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。本题难点:在不能使用除法的同时,不能使用循环嵌套来完成该题目,因此只能采用两次循环的方式,分为两个部分来完成该题目。题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。请不要使用除法,且在 O(n) 时间复杂度内完成此题。

2023-06-14 14:49:14 24

原创 读取最后一个单词的长度(自用)

给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。本题就考如何解决末尾的空白。

2023-06-11 16:42:09 28

原创 整数转罗马数字学习(自用)

通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II。罗马数字的本质是各种字符所代表的数字之和或差,当一个字符所代表的数字小于后方字符所代表的,那么该字符所代表的数字做减法,否则做加法。罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。

2023-06-11 16:29:10 33

原创 H指数学习(自用)

根据 H 指数的定义,如果当前 H 指数为 h 并且在遍历过程中找到当前值 citations[i]>h,则说明我们找到了一篇被引用了至少 h+1次的论文,所以将现有的 h 值加 1。根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且每篇论文 至少 被引用 h 次。如果 h 有多种可能的值,h 指数 是其中最大的那个。给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。

2023-06-11 16:03:24 28

原创 跳跃游戏学习(自用)

将跳跃游戏的本质想象为能量的获取,只有有能量时才能跳跃,而跳跃的能量获取为数组上的数字,当你的能量小于数组上的数字时,你就将数组上的数字大小变为你的能量的多少。给定一个非负整数数组 nums ,你最初位于数组的 第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。

2023-06-10 17:29:56 33

原创 买卖股票的最佳时机学习(自用)

你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。使用局部最小值与之后的价格进行比较,假设某一天要卖,计算与之前的最低点的差,最后找最大值。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。

2023-06-10 16:14:31 32

原创 轮转数组学习(自用)

可以看到的是使用该方法虽然能够避免使用多余的数组空间,但是使用了for循环后所需要的时间复杂度变高,从而消耗了更多的时间。给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

2023-06-10 15:50:57 26

原创 多数元素学习(自用)

本题思路:因为本题给定数组总是存在多数元素,因此将数组排序之后,多数元素一定会在最中间有该元素,直接输出排序后最中间元素即可。给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。

2023-06-09 16:12:15 19

原创 合并两个有序数组学习(自用)

注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。第四个参数为从第二个数组的几号索引开始导入copy。第一个参数位置为被copy数组。

2023-06-09 15:12:52 30

原创 移除元素学习(自用)

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

2023-06-09 15:03:02 29

原创 删除有序数组中的重复项学习(自用)

给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致。然后返回 nums 中唯一元素的个数。更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。通过题目分析该题使快慢双指针进行数组遍历,其中i指针进行数组遍历,a指针进行数组修改。

2023-06-09 14:48:56 37

转载 html与jsp的区别

什么是HTML?HTML称为超文本标记语言,是一种标识性的语言,是用来描述网页的一种语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。超文本是一种组织信息的方式,它通过超级链接方法将文本中的文字、图表与其他信息媒体相关联。HTML 指的是超文本标记语言 (Hyper Text Markup Language)HTML 不是一种编程语言,而是一种标记语言 (markup language)标记语言是一套标记标签 (markup tag)H

2022-05-19 11:17:56 295

原创 线程池的学习

什么是线程池?Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优和监控。但是,要做到合理利用线程池,必须对其实现原理了如指

2022-05-19 11:12:05 73

转载 MVC的学习

MVC模式(三层架构模式)(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式最早由Trygve Reenskaug在1974年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式。MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模

2022-05-19 11:00:10 152

原创 DOM学习

DOM概念文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。它是一种与平台和语言无关的应用程序接口(API),它可以动态地访问程序和脚本,更新其内容、结构和www文档的风格(HTML和XML文档是通过说明部分定义的)。文档可以进一步被处理,处理的结果可以加入到当前的页面。DOM是一种基于树的API文档,它要求在处理过程中整个文档都表示在存储器中。另外一种简单的API是基于事件的SAX,它可以用于处理很大的XML文档,由于大,所以不适

2022-05-19 10:50:54 58

原创 CSS学习(2)

CSS文本文本颜色color 属性用于设置文本的颜色。颜色由以下值指定:颜色名 - 比如 “red”十六进制值 - 比如 “#ff0000”RGB 值 - 比如 “rgb(255,0,0)”查看 CSS 颜色值,以获取可能颜色值的完整列表。页面的默认文本颜色是在 body 选择器中定义的。文本对齐text-align 属性用于设置文本的水平对齐方式。文本可以左对齐或右对齐,或居中对齐。下例展示了居中对齐以及左右对齐的文本(如果文本方向是从左到右,则默认为左对齐;如果文本方向是从右到左,

2022-05-18 21:00:06 104

原创 CSS学习(1)

css介绍层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。CSS边框CSS 边框属性CSS border 属性允许您指定元素边框的样式、宽度和颜色。border-st

2022-05-18 20:44:38 465

转载 Bresenham算法学习

Bresenham算法是DDA算法画线算法的一种改进算法。本质上它也是采取了步进的思想。不过它比DDA算法作了优化,避免了步进时浮点数运算,同时为选取符合直线方程的点提供了一个好思路。首先通过直线的斜率确定了在x方向进行单位步进还是y方向进行单位步进:当斜率k的绝对值|m|<1时,在x方向进行单位步进;当斜率k的绝对值|m|>1时,在y方向进行单位步进。下面以|m|<1时推导Bresenham算法的数学依据:Bresenham-draw-line-a请看上图,已知有一直线y=m

2022-05-18 16:34:16 1172

原创 HTML标签学习(2)

HTML 的 style 属性style 属性用于改变 HTML 元素的样式style 属性的作用:提供了一种改变所有 HTML 元素的样式的通用方法。样式是 HTML 4 引入的,它是一种新的首选的改变 HTML 元素样式的方式。通过 HTML 样式,能够通过使用 style 属性直接将样式添加到 HTML 元素,或者间接地在独立的样式表中(CSS 文件)进行定义。样式实例-背景颜色background-color 属性为元素定义了背景颜色:<html><body sty

2022-05-18 16:22:48 48

原创 HTML标签学习(1)

HTML标签简介HTML 标记标签通常被称为 HTML 标签 (HTML tag)。HTML 标签是由尖括号包围的关键词,比如 <html>HTML 标签通常是成对出现的,比如 <b> 和 </b>标签对中的第一个标签是开始标签,第二个标签是结束标签开始和结束标签也被称为开放标签和闭合标签基本结构标签<html> <head>...</head> <body>...</body>

2022-05-18 16:02:15 215

原创 动态网页与静态网页

动态网页介绍简介所谓的动态网页,是指跟静态网页相对的一种网页编程技术。静态网页,随着html代码的生成,页面的内容和显示效果就基本上不会发生变化了——除非你修改页面代码。而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。值得强调的是,不要将动态网页和页面内容是否有动感混为一谈。这里说的动态网页,与网页上的各种动画、滚动字幕等视觉上的动态效果没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无

2022-05-08 15:34:59 956

原创 相对路径与绝对路径的区别

在Html的应用中经常会涉及到绝对路径与相对路径的概念(如超级链接、图片等),这两种路径所表达的意义在于绝对路径可以精确引用,而相对路径则是模糊应用概念,只是在目标目录下找到引用,所以大多数Html工作者都会选择使用相对路径。以下是相对路径与绝对路径的介绍。一、绝对路径绝对路径是指文件在硬盘上真正存在的路径。例如“bg.jpg”这个图片是存放在硬盘的“E:\book\网页布局代码\第2章”目录下,那么 “bg.jpg”这个图片的绝对路径就是“E:\book\网页布\代码\第2章\bg.jpg“。使用绝

2022-05-08 14:23:33 993

原创 斜杠,双斜杠,反斜杠与双反斜杠

1. 斜杠"/"是URL地址中用到的分隔符,斜杠/在Linux等其他操作系统中使用web应用最早部署在Unix系统,所以目前使用的网络地址也是斜杠作为分隔符,可自行通过浏览器地址栏观察。并且在linux系统中的文件路径也是用“/”分隔:比如在URL https://mp.csdn.net/mp_blog/creation/editor中,斜杠"/"起着分隔主机名、路径、以及文件名的作用,比如linux常见的路径名: /etc/ssh/sshd_config2. 双斜杠“//”用在网络域名访问中,

2022-04-26 20:53:05 4642

转载 注解配置和XML配置的比较

注解配置与xml配置的区别:xml配置:书写灵活,修改方便,单修改xml时不需要修改源码,不用重新编译和部署。但维护起来相对麻烦。是一种集中式的的元数据,与源代码无绑定。注解配置:写起来比较简单方便,配置、维护简单,但是修改很麻烦。是一种分散式的的元数据,与源代码紧绑定。关于xmlxml优点:1.使用xml配置可以让软件更具有扩展性;比如,我们在spring中,我们不想使用接口而是想用接口的实现类,这个时候只需要修改xml配置中bean的class值就可以了。2.对象之间的关系一目了然;3.

2022-04-25 17:22:15 1075

空空如也

空空如也

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

TA关注的人

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