自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

原创 leetcode-347. 前 K 个高频元素

【代码】leetcode-347. 前 K 个高频元素。

2023-05-12 06:20:13 135

原创 leetcode-239. 滑动窗口最大值

这题用单调队列是最合适的,一开始没想到用的是类似于这种思路的自设逻辑的暴力法。

2023-05-11 12:24:51 118

原创 leetcode-150. 逆波兰表达式求值

题目不难,字符串转换成整数的时候不知道有现成的函数,手动转换浪费了点时间。

2023-05-10 19:30:07 119

原创 leetcode-1047. 删除字符串中的所有相邻重复项

用栈的思路去做,遍历s,栈空或者栈顶元素和当前指向的s字符不等时入栈,指针继续走,当栈顶元素和当前s中的字符相等时栈顶元素出栈,直到遍历完整个数组为止。其中栈的实现可以直接用字符串完成,比用stack容器方便。时空复杂度都是O(n)

2023-05-09 06:08:30 115

原创 leetcode-20. 有效的括号

注意一些小细节,比如如果字符串大小为奇数肯定不行可以减掉,右括号匹配左括号时的返回false条件还有栈空的情况,循环结束后栈必须为空等。

2023-05-09 05:41:27 30

原创 leetcode-225. 用队列实现栈

【代码】leetcode-225. 用队列实现栈。

2023-05-09 05:02:05 53

原创 leetcode-232. 用栈实现队列

双栈实现队列,基本数据结构。

2023-05-07 21:33:36 45

原创 leetcode-18. 四数之和

难点在于剪枝和去重,很容易超时。再一个就是LeetCode的测试用例,达到了int的取值极限,要强转一下类型。去重用的hashmap,结果发现超时,还是得硬去。//双指针法找符合条件的元组。//用hashmap去重。

2023-05-07 01:20:34 36

原创 leetcode-19. 删除链表的倒数第 N 个结点

【代码】leetcode-19. 删除链表的倒数第 N 个结点。

2023-04-29 23:54:42 69

原创 leetcode-19. 删除链表的倒数第 N 个结点

【代码】leetcode-19. 删除链表的倒数第 N 个结点。

2023-04-28 17:14:22 40

原创 leetcode-剑指 Offer 58 - II. 左旋转字符串

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。链接:https://leetcode.cn/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof。商业转载请联系官方授权,非商业转载请注明出处。输入: s = “lrloseumgh”, k = 6。输入: s = “abcdefg”, k = 2。输出: “cdefgab”

2023-04-12 06:21:20 47

原创 leetcode-151. 反转字符串中的单词

注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。进阶:如果字符串在你使用的编程语言中是一种可变数据类型,请尝试使用 O(1) 额外空间复杂度的 原地 解法。s 中使用至少一个空格将字符串中的 单词 分隔开。解释:如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。著作权归领扣网络所有。给你一个字符串 s ,请你反转字符串中 单词 的顺序。解释:反转后的字符串中不能存在前导空格和尾随空格。

2023-04-11 19:43:51 223

原创 leetcode-剑指 Offer 05. 替换空格

链接:https://leetcode.cn/problems/ti-huan-kong-ge-lcof。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。请实现一个函数,把字符串 s 中的每个空格替换成"%20"。输入:s = “We are happy.”输出:“We%20are%20happy.”0 <= s 的长度 <= 10000。来源:力扣(LeetCode)

2023-04-07 20:38:18 78

原创 leetcode-344. 反转字符串

不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。链接:https://leetcode.cn/problems/reverse-string。编写一个函数,其作用是将输入的字符串反转过来。商业转载请联系官方授权,非商业转载请注明出处。输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]输入:s = [“h”,“e”,“l”,“l”,“o”]输出:[“h”,“a”,“n”,“n”,“a”,“H”]输出:[“o”,“l”,“l”,“e”,“h”]

2023-04-07 18:35:44 167

原创 leetcode-15. 三数之和(哈希表,不是最优方法,很容易超时)

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= k ,同时还满足 nums[i] + nums[j] + nums[k] == 0。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]输入:nums = [0,1,1]输入:nums = [0,0,0]解释:唯一可能的三元组和为 0。输出:[[0,0,0]]

2023-04-06 19:16:38 130

原创 排序算法复习

【代码】排序算法复习。

2023-04-05 12:40:29 40

原创 leetcode-383. 赎金信

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。链接:https://leetcode.cn/problems/ransom-note。输入:ransomNote = “aa”, magazine = “aab”输入:ransomNote = “aa”, magazine = “ab”输入:ransomNote = “a”, magazine = “b”著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2023-04-04 14:52:18 51

原创 leetcode-454. 四数相加 II

输入:nums1 = [1,2], nums2 = [-2,-1], nums3 = [-1,2], nums4 = [0,2]输入:nums1 = [0], nums2 = [0], nums3 = [0], nums4 = [0]一开始只想到了O(n3)的方法,后面看了看解答用分组的方式可以把时间复杂度降到O(n2)链接:https://leetcode.cn/problems/4sum-ii。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。来源:力扣(LeetCode)

2023-04-04 13:03:57 45

原创 leetcode-202. 快乐数

链接:https://leetcode.cn/problems/happy-number。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 n 是 快乐数 就返回 true;不是,则返回 false。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。如果这个过程 结果为 1,那么这个数就是快乐数。编写一个算法来判断一个数 n 是不是快乐数。来源:力扣(LeetCode)

2023-04-03 16:15:10 39

原创 leetcode-349. 两个数组的交集

给定两个数组 nums1 和 nums2 ,返回 它们的交集。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序。链接:https://leetcode.cn/problems/intersection-of-two-arrays。输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输入:nums1 = [1,2,2,1], nums2 = [2,2]著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解释:[4,9] 也是可通过的。

2023-04-03 10:36:27 53

原创 leetcode-242.有效的字母异位词

进阶: 如果输入字符串包含 unicode 字符怎么办?链接:https://leetcode.cn/problems/valid-anagram。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。商业转载请联系官方授权,非商业转载请注明出处。输入: s = “anagram”, t = “nagaram”输入: s = “rat”, t = “car”s 和 t 仅包含小写字母。

2023-03-30 16:26:36 35

原创 leetcode-142.环形链表||

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。给定一个链表的头节点 head ,返回链表开始入环的第一个节点。输入:head = [3,2,0,-4], pos = 1。输入:head = [1,2], pos = 0。解释:链表中有一个环,其尾部连接到第二个节点。解释:链表中有一个环,其尾部连接到第一个节点。输入:head = [1], pos = -1。

2023-03-29 18:58:03 28

原创 leetcode-面试题 02.07. 链表相交

输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3。输入:intersectVal = 2, listA = [0,9,1,2,4], listB = [3,2,4], skipA = 3, skipB = 1。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1,8,4,5]。解释:相交节点的值为 2 (注意,如果两个链表相交则不能为 0)。

2023-03-28 13:39:18 41

原创 leetcode-24.两两交换链表中的节点

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。链接:https://leetcode.cn/problems/swap-nodes-in-pairs。输入:head = [1,2,3,4]来源:力扣(LeetCode)输入:head = [1]输出:[2,1,4,3]输入:head = []

2023-03-27 12:19:35 27

原创 leetcode-206.反转链表

链接:https://leetcode.cn/problems/reverse-linked-list。给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。输入:head = [1,2,3,4,5]输入:head = [1,2]来源:力扣(LeetCode)输出:[5,4,3,2,1]输入:head = []

2023-03-25 10:05:15 31

原创 leetcode-707.设计链表

void addAtIndex(int index, int val) 将一个值为 val 的节点插入到链表中下标为 index 的节点之前。val 是当前节点的值,next 是指向下一个节点的指针/引用。void deleteAtIndex(int index) 如果下标有效,则删除链表中下标为 index 的节点。int get(int index) 获取链表中下标为 index 的节点的值。void addAtTail(int val) 将一个值为 val 的节点追加到链表中作为链表的最后一个元素。

2023-03-24 16:37:27 29

原创 leetcode-203.移除链表元素

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点。链接:https://leetcode.cn/problems/remove-linked-list-elements。输入:head = [1,2,6,3,4,5,6], val = 6。输入:head = [7,7,7,7], val = 7。列表中的节点数目在范围 [0, 104] 内。输入:head = [], val = 1。输出:[1,2,3,4,5]

2023-03-23 13:40:19 32

原创 leetcode-4.寻找两个正序数组的中位数

给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。链接:https://leetcode.cn/problems/median-of-two-sorted-arrays。解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5。输入:nums1 = [1,2], nums2 = [3,4]输入:nums1 = [1,3], nums2 = [2]解释:合并数组 = [1,2,3] ,中位数 2。输出:2.00000。输出:2.50000。

2023-03-21 12:47:28 46

原创 leetcode-59.螺旋矩阵

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix。链接:https://leetcode.cn/problems/spiral-matrix-ii。输出:[[1,2,3],[8,9,4],[7,6,5]]来源:力扣(LeetCode)

2023-03-13 23:52:53 48

原创 leetcode-904.水果成蓝

你可以选择任意一棵树开始采摘,你必须从 每棵 树(包括开始采摘的树)上 恰好摘一个水果。你想要尽可能多地收集水果。输入:fruits = [3,3,3,1,2,1,1,2,3,3,4]如果从第一棵树开始采摘,则只能采摘 [1,2] 这两棵树。解释:可以采摘 [1,2,1,1,2] 这五棵树。输入:fruits = [1,2,3,2,2]解释:可以采摘 [2,3,2,2] 这四棵树。输入:fruits = [0,1,2,2]解释:可以采摘 [1,2,2] 这三棵树。输入:fruits = [1,2,1]

2023-03-08 18:54:21 50

原创 leetcode-209.长度最小的子数组

找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, …如果你已经实现 O(n) 时间复杂度的解法, 请尝试设计一个 O(n log(n)) 时间复杂度的解法。输入:target = 11, nums = [1,1,1,1,1,1,1,1]输入:target = 7, nums = [2,3,1,2,4,3]输入:target = 4, nums = [1,4,4]解释:子数组 [4,3] 是该条件下的长度最小的子数组。来源:力扣(LeetCode)

2023-03-08 15:14:48 95

原创 leetcode-977.有序数组的平方

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。链接:https://leetcode.cn/problems/squares-of-a-sorted-array。解释:平方后,数组变为 [16,1,0,9,100]输入:nums = [-4,-1,0,3,10]输入:nums = [-7,-3,2,3,11]排序后,数组变为 [0,1,9,16,100]输出:[0,1,9,16,100]输出:[4,9,9,49,121]

2023-03-07 16:21:01 39

原创 leetcode-27.移除元素

例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。解释:函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。// 根据你的函数返回的长度, 它会打印出数组中 该长度范围内 的所有元素。输入:nums = [0,1,2,2,3,0,4,2], val = 2。元素的顺序可以改变。输入:nums = [3,2,2,3], val = 3。输出:5, nums = [0,1,4,0,3]

2023-03-07 12:03:34 34

原创 leetcode-704.二分查找

示例 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提示:你可以假设 nums 中的所有元素是不重复的。n 将在 [1, 10000]之间。nums 的每个元素都将在 [-9999, 9999]之间。来源:力扣(LeetCode)

2023-03-03 17:13:15 69 1

原创 排序算法整理C++实现

1

2020-09-21 17:13:01 199

原创 C++跳出for循环的方式

方法1:for循环中满足条件后使用break语句;#include <iostream>using namespace std;int main(int argc,char *argv[]){ int i; for(i=0;i<=5;i++) { if(i==2) break; } cout<<i<<endl; return 0;}方法2:如果是在函数

2020-09-20 20:48:15 19503

原创 网络抓包与流量在线分析系统的设计与实现-基于libpcap在MacOS上实现 记录这愉快(DT)的一周

网络抓包与流量在线分析系统的设计与实现-基于libpcap在MacOS上实现 记录这愉快(DT)的一周要求:基于LINUX系统设计并实现一个网络流量的分析系统。该系统具有以下功能:(1)实时抓取网络数据。(2)网络协议分析与显示。(3)将网络数据包聚合成数据流,以源IP、目的IP、源端口、目的端口及协议等五元组的形式存储。(4)计算并显示固定时间间隔内网络连接(双向流)的统计量(如上行与下行的数据包数目,上行与下行的数据量大小等)。在这些统计数据的基础上分析不同网络应用的流量特征。关键词:linux

2020-07-09 12:38:42 1083

原创 Java做一个贪吃蛇小游戏

包名snakegame第一个类 Snakepackage snakegame;import javax.swing.JFrame;public class Snake { /** * @param args */ /*运行框大小900*720,沙盘大小850*600*/ public static void main(String[] args) { // TODO ...

2019-05-17 15:58:55 708 5

原创 Java基础练习

1 取余运算:韩信点兵,不足百人。三人一行多一个,七人一行少两个,五人一个正好,问有多少人?

2019-03-25 17:40:36 468

原创 MAC上的Java开发环境配置

Mac OS 下的Java开发环境配置前言

2019-03-25 14:40:50 312

libpcap网络抓包与分析.zip

基于LINUX系统设计并实现一个网络流量的分析系统。该系统具有以下功能:(1)实时抓取网络数据。(2)网络协议分析与显示。(3)将网络数据包聚合成数据流,以源IP、目的IP、源端口、目的端口及协议等五元组的形式存储。(4)计算并显示固定时间间隔内网络连接(双向流)的统计量(如上行与下行的数据包数目,上行与下行的数据量大小等)。在这些统计数据的基础上分析不同网络应用的流量特征。包含源代码和实验报告

2020-07-09

空空如也

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

TA关注的人

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