自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FBL

  • 博客(47)
  • 收藏
  • 关注

原创 力扣 1.24

15. 三数之和https://leetcode-cn.com/problems/3sum/难度中等4229给你一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c ,使得a + b + c =0 请你找出所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。class Solution {public: vector<vector<int>> threeSum(vector<int>&...

2022-01-24 10:50:52 334

原创 383 赎金信

383. 赎金信https://leetcode-cn.com/problems/ransom-note/难度简单给你两个字符串:ransomNote和magazine,判断ransomNote能不能由magazine里面的字符构成。如果可以,返回true;否则返回false。magazine中的每个字符只能在ransomNote中使用一次。解法一暴力破解法双层for循环暴力破解class Solution {public: b...

2022-01-23 07:23:04 227

原创 Session

一 概念服务器端会话技术 在一次会话的多次请求间共享数据 将数据保存在服务器端的对象HttpSession中二 快速入门2.1 HttpSession对象的常用方法获取HttpSession对象使用HttpSession对象SessionDemo1package Session;import jakarta.servlet.ServletException;import jakarta.servlet.annotation.WebServlet;import jakart

2021-11-30 20:25:06 880 1

原创 Cookie详解

一 会话技术概念1.1 会话一次会话中包含多次请求和响应1.2 一次会话浏览器第一次给服务器资源发送请求 会话建立 直到有一方断开为止1.3 功能在一次会话的范围内 共享数据 一次会话中包含多次请求-响应 会话技术 可以在多次请求响应间共享数据1.4 例子比如购物车一次结算多种商品 每次选择一种商品都是一次请求-响应 多次选择后 一次结算 在多次请求响应之间共享价格等数据1.5 方式客户端会话技术 Cookie 数据存储到客户端服务端会话技术:Session数

2021-11-29 19:48:41 1103

原创 4.6.1路由选择协议概述

路由选择可分为两类 静态路由选择和动态路由选择一 静态路由选择概念 由人工配置的网络路由 默认路由 特定主机路由 黑洞路由等都属于静态路由特点:这种人工配置方式简单 开销小 但不能及时适应网络状态(流量 拓扑)的变化适用范围:一般只在小规模网络中采用二 动态路由选择概念:路由器通过路由选择协议自动获取路由信息特点:比较复杂 开销比较大 但能较好的适应网络状态的变化适用范围:适用于大规模网络三 因特网所采用的路由选择协议的特点 自适应 动态路由选择 能.

2021-11-28 21:29:26 1883

原创 Java Web-常识贴

一为什么要学习Servlet?我认为不结合历史背景和业务场景去了解一门技术产生的原因而去盲目的堆砌技术栈是愚蠢的

2021-11-28 20:05:46 685

原创 剑指offer--58

剑指 Offer 58 - II. 左旋转字符串https://leetcode-cn.com/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof/难度简单字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = "abcdefg", k = 2输出:"cdefgab"示例 2:.

2021-10-31 13:04:00 4365

原创 剑指offer 05 替换空格

剑指 Offer 05. 替换空格https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/难度简单168请实现一个函数,把字符串s中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000第一步 计算空格个数第二步扩充字符串大小第三步从后向前替换class Solution {...

2021-10-30 10:01:18 54

原创 LeetCode-541

541. 反转字符串 IIhttps://leetcode-cn.com/problems/reverse-string-ii/难度简单205给定一个字符串s和一个整数k,从字符串开头算起,每计数至2k个字符,就反转这2k字符中的前k个字符。如果剩余字符少于k个,则将剩余字符全部反转。 如果剩余字符小于2k但大于或等于k个,则反转前k个字符,其余字符保持原样。示例 1:输入:s = "abcdefg", k = 2输出:"bacdfeg"示...

2021-10-28 12:19:50 93

原创 JAVA SE基础复习(1)

目录1.1 Java的发展历史(了解)1.2 Java的语言特点1.3 JVM JRE和JDK1.4 HelloWorld1.1 Java的发展历史(了解)Java最初是由SUN公司的詹姆斯·高斯林所带领的Green团队开发的,因为工作环境附近有一棵橡树所以起初被命名为OaK(橡树)。但又因为OaK已经被注册,所以改名叫Java它的标志是一杯热气腾腾的咖啡~1996年1月 SUN公司推出了JDK1.0在后面的时间里 SUN公司又陆续发布了JDK 1.1 1.2直到1....

2021-10-25 21:44:15 142

原创 LeetCode-344

344. 反转字符串难度简单474编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:输入:s = ["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:输入:s = ["H","a","n","n","a","h"]输出:["h","a","n","n","a","H"]提示..

2021-10-25 19:33:02 117

原创 网络编程初学

一网络编程相关基础概念1.1网络通讯两台设备之间通过网络实现数据传输网络通信:将数据通过网络从一台设备传输到另一台设备1.2网络概念:利用通信线路和通信设备,将地理位置不同的、功能独立的多台计算机互连起来,以功能完善的网络软件来实现资源共享和信息传递,就构成了计算机网络系统。根据网络的覆盖范围不同,对网络进行分类:局域网:覆盖范围最小 仅仅覆盖一个教室或一个学校(校园网)城域网:覆盖范围较大 可以覆盖一个城市广域网:覆盖范围最大 可以覆盖全国 甚至全球 万维网是广域网..

2021-10-23 15:30:53 203

原创 LeetCode-202

202. 快乐数https://leetcode-cn.com/problems/happy-number/难度简单编写一个算法来判断一个数n是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。 如果可以变为 1,那么这个数就是快乐数。如果n是快乐数就返回true;不是,则返回false。示例 1:输入:19输出:true解释:12 ...

2021-10-22 19:51:51 182

原创 LeetCode-349

349. 两个数组的交集https://leetcode-cn.com/problems/intersection-of-two-arrays/难度简单428给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]说明:输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结

2021-10-20 15:00:14 155 2

原创 IO流初学(中)

先看一下IO流的主要分类我们很容易观察到IO流的类非常之多这么多不可能真说完我们就挑几个常用的其他的如果用到可以去API查找一 节点流和处理流1.1概念节点流:节点流是对单一数据源(数组 文件 管道 字符串 )进行读写操作的一种流 如专门读写文件的FileReader FileWriter处理流:处理流也叫包装流连接在已存在的流(节点流或者包装流)为程序提供更为强大的读写功能也更加灵活数据源可以是数组也可以是文件ps:节点流相当于一个只能做椅子的工匠 只...

2021-10-19 21:21:20 168 1

原创 LeetCode-242

242. 有效的字母异位词难度简单给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。注意:若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。示例1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false提示:1 <= s.length, t.length <= 5 * 104 s...

2021-10-19 19:41:16 92

原创 LeetCode-142

142. 环形链表 IIhttps://leetcode-cn.com/problems/linked-list-cycle-ii/难度中等给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是-1,则在该链表中没有环。注意,pos仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以使用O(1)...

2021-10-18 19:38:46 58

原创 LeetCode-19

19. 删除链表的倒数第 N 个结点https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/难度中等1613给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:he..

2021-10-17 15:37:45 128

原创 LeetCode-面试题 02.07

面试题 02.07. 链表相交https://leetcode-cn.com/problems/intersection-of-two-linked-lists-lcci/难度简单105给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回null。图示两个链表在节点c1开始相交:题目数据保证整个链式结构中不存在环。注意,函数返回结果后,链表必须保持其原始结构。示例 1:输入:inte...

2021-10-16 14:12:34 70

原创 IO流初学(上)

一文件文件:文件就是保存数据的地方可以保存一张图片也可以保存一个文本或者视频文件流:文件在程序中是以流的形式操作的输入流:数据从数据源(文件)到程序(内存)的路径输出流:数据从程序(内存)到数据源(文件)的路径二常用文件操作创建文件File是文件类 我们先来看看它的构造方法 对于java程序员来说必然得会查询API文档可能看着比较抽象(我第一遍也是这个感觉)接下来做个示例就很好理解了注释已经很清晰了 //第一种通过File(String pathn...

2021-10-16 13:42:55 67

原创 LeetCode-24

24. 两两交换链表中的节点https://leetcode-cn.com/problems/swap-nodes-in-pairs/难度中等给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]提示:链表中

2021-10-15 15:23:45 57

原创 LeetCode-206

206. 反转链表https://leetcode-cn.com/problems/reverse-linked-list/难度简单给你单链表的头节点head,请你反转链表,并返回反转后的链表。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:输入:head = [1,2]输出:[2,1]示例 3:输入:head = []输出:[]提示:链表中节点的数目范围是[0, 5000] -500...

2021-10-14 19:52:49 179

原创 多线程基础知识(下)

接着上回来说线程终止线程终止即停止执行此线程线程终止分为两种情况:一种是等待线程执行完后它会自动终止另一种是通过使用变量来控制run方法退出的方式来终止线程即通知方式我们来看看第二种方式的具体实现public class Pre04 { public static void main(String[] args) throws InterruptedException { test04 test04 = new test04(); t..

2021-10-13 19:45:24 89

原创 Leetcode-707

707. 设计链表https://leetcode-cn.com/problems/design-linked-list/难度中等设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val和next。val是当前节点的值,next是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性prev以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:get(index):获取链表中第index个节点的值...

2021-10-13 15:45:08 126

原创 多线程基础知识(上)

目录前言基本概念程序:是为完成特定任务 用某种语言编写的一组指令的集合(也就是我们常说的代码)进程:线程:线程是由进程创建的实体一个进程可以拥有一个或者多个线程单线程同一时刻只允许执行一个线程多线程同一时刻可以执行多个线程并发:同一个时刻多个任务交替执行 造成一种“貌似同时”的错觉(hh)并行:同一时刻多个任务同时进行多核cpu实现并行线程的使用创建线程第一种继承Thread类重写run方法总结1.可以清晰得出两个线程是同...

2021-10-12 21:52:32 230 1

原创 LeetCode-203

203. 移除链表元素https://leetcode-cn.com/problems/remove-linked-list-elements/难度简单给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val == val的节点,并返回新的头节点。示例 1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]示例 2:输入:head = [], val = 1输出:[]...

2021-10-12 09:27:21 146

原创 java小游戏——通过方向键控制小球移动

需求分析:第一要画出一个小球第二要能通过控制方向键控制它的移动第一部分的实现1.首先要画一个大窗体public class BallMove extends JFrame在开发Java应用程序时,通常情况下利用JFrame创建大窗口。利用JFrame创建的窗口分别包含一个标题、最小化按钮、最大化按钮和关闭按钮用主类去继承JFrame类就可以使用它的方法啦2.接着用一个类来继承JPanel如果说JFrame是一个窗口 JPanel就相当于一个画板我们可以在上...

2021-10-11 11:41:18 2652

原创 LeetCode—59

59. 螺旋矩阵 IIhttps://leetcode-cn.com/problems/spiral-matrix-ii/难度中等给你一个正整数n,生成一个包含1到n2所有元素,且元素按顺时针顺序螺旋排列的n x n正方形矩阵matrix。示例 1:输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2:输入:n = 1输出:[[1]]class Solution {public: vector<...

2021-10-10 18:52:15 59

原创 LeetCode-209

209. 长度最小的子数组https://leetcode-cn.com/problems/minimum-size-subarray-sum/难度中等给定一个含有n个正整数的数组和一个正整数target。找出该数组中满足其和≥ target的长度最小的连续子数组[numsl, numsl+1, ..., numsr-1, numsr],并返回其长度。如果不存在符合条件的子数组,返回0。示例 1:输入:target = 7, nums = [2,3,1,2,4...

2021-10-09 10:28:01 127

原创 LeetCode-977

977. 有序数组的平方https://leetcode-cn.com/problems/squares-of-a-sorted-array/难度简单314给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入...

2021-10-06 17:39:39 50

原创 LeetCode-27 移除元素

给你一个数组 nums和一个值 val,你需要 原地 移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参作任...

2021-10-05 16:20:20 55

原创 LeetCode-34 题解

给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回[-1, -1]。进阶:你可以设计并实现时间复杂度为O(log n)的算法解决此问题吗?示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例2:输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,-1]示例 3:输入:num...

2021-10-04 15:33:12 598

原创 LeetCode-35 搜索插入位置题解 C++

35. 搜索插入位置https://leetcode-cn.com/problems/search-insert-position/难度简单1103给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(log n)的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例2:输入: nums = [1,3,5,6], target =...

2021-10-03 15:21:43 111

原创 LeetCode 704 二分查找题解(1)

给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1提示:你可以假...

2021-10-02 15:04:06 99

原创 面向对象编程基本部分——java三大特性详解

本文是基于楼主学习韩顺平老师java课后的笔记整理而来分享出来希望能跟大家一起交流共同进步绪论java有一个重要特性是面向对象(oop)这是它与其他语言重要的差别之一也是他如此受市场欢迎的重要原因本文我们就来说说封装继承多态这三大面向对象重要特征封装封装是什么封装就是把抽象出来的数据【属性】和对数据的操作【方法】封装在一起 数据被保护在内部 程序的其他部分只有通过被授权的方法 才能对数据进行操作 类似电视机中我们只能用遥控器控制声音大小亮度增减...

2021-09-29 20:27:54 524 9

原创 《第一章 java程序设计概述》

java的特质简单性:java语法是c++语法的一个纯净版本没有头文件指针运算操作符重载等相较于c++java简单很多面向对象:java是一门纯面向对象式的语言 java将c++多重继承时改为更简单的接口概念分布式:java有一个丰富的例程库用于处理像http和ftp之类的tcp/ip协议java应用程序能够通过url打开和访问网络上的对象其便携程度就好像访问本地文件一样健壮性:java编译器能够在编译时检测出来其他语言要在运行时才能检测出来的问题消除了容易出错的情况...

2021-08-25 14:13:34 81

原创 PAT (Basic Level) Practice (中文)

1029 旧键盘 (20 分)旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线_(代表空格)组成。题目保证 2 个字符串均非空。输出格式:按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有.

2021-07-28 10:21:30 80

原创 PAT (Basic Level) Practice (中文)1025 反转链表 (25 分)

给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为 1→2→3→4→5→6,K为 3,则输出应该为 3→2→1→6→5→4;如果K为 4,则输出应该为 4→3→2→1→5→6,即最后不到K个元素不反转。输入格式:每个输入包含 1 个测试用例。每个测试用例第 1 行给出第 1 个结点的地址、结点总个数正整数N(≤10​5​​)、以及正整数K(≤N),即要求反转的子链结点的个数。结点的地址是 5 位非负整数,NULL 地址用−1表示。...

2021-06-07 21:45:17 92

原创 PAT (Basic Level) Practice (中文)1024 科学计数法 (20 分)

科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留。输入格式:每个输入包含 1 个测试用例,即一个以科学计数法表示的实数A。该数字的存储长度不超过 9999 字节,且其指数的绝对值不超过 9999。输出格式:...

2021-06-06 21:07:43 68 1

原创 PAT (Basic Level) Practice (中文)1020 月饼 (25 分)

月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5(亿元)。输入

2021-06-02 16:39:16 65

空空如也

空空如也

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

TA关注的人

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