自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 刷题记录---77. 组合

leetcode刷题记录

2023-11-13 14:28:03 37

原创 哈希表映射

哈希表 映射一、题源:1. 两数之和问题描述给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。二、 思路:哈希表关于哈希表一般使用到的数据结构有 数组 、 set(集合) 、 map(映射) 。之前俩篇文章分别介绍了数组和集合的相关题目,使用数组一般是针对数值大小有限且机制的

2022-05-12 22:44:11 217

原创 哈希表集合

哈希表 集合一、题源:349. 两个数组的交集问题描述给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。二、 思路:哈希表关于哈希表一般使用到的数据结构有 数组 、 set(集合) 、 map(映射) 。之前的一篇文章都是使用数组,但是要注意的是使用数组一般是针对数值大小有限且机制的情况。如果关键值大小限制跨度很大且特别分散,使用数组就造成空间的极大浪费,因此考虑另一种数据结构 set 。C++ 的关

2022-05-09 22:26:34 146

原创 哈希表数组

滑动窗口法一、题源:242. 有效的字母异位词问题描述给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。二、 思路:1、映射用 unordered_map 可以很方便的实现出现的字母及出现次数的计算。参考代码如下class Solution {public: bool isAnagram(string s, string t) { unor

2022-05-09 21:54:31 1612

原创 环形链表 II

环形链表 II一、题源:142. 环形链表 II问题描述给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递 ,仅仅是为了标识链表的实际情况。不允许修改 链表。二、 思路:1、暴力

2022-05-05 22:05:45 549

原创 链表相交题

滑动窗口法一、题源:209. 长度最小的子数组问题描述给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。二、 思路:1、暴力解法最容易想到的方法就是直接对数组进行遍历,然后再从遍历的位置开始查找符合条件的子数组。时间复杂度:O(n2)O(n^2 )O(n2)空间复杂度:O(1)O(1)

2022-05-05 21:12:20 319

原创 反转链表题

反转链表一、题源:206. 反转链表问题描述给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。二、 思路:1、头插法将这个链表上的结点依次头插到一个新的链表。为了简化头插代码,在新的链表上引入了虚拟头结点参考代码如下struct ListNode* reverseList(struct ListNode* head){ struct ListNode* returnHead = (struct ListNode*)malloc(sizeof(struct List

2022-05-05 10:37:01 565

原创 设计链表(虚拟头节点)

设计链表(虚拟头节点)一、题源:707. 设计链表问题描述设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:get(index): 获取链表中第 index 个节点的值。如果索引无效,则返回 -1 。addAtHead(val): 在链表

2022-05-04 21:56:07 137

原创 虚拟头结点

移除列表元素一、题源:203. 移除列表元素问题描述给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。二、 思路:1、直接操作从头节点开始遍历,判断指针指向的下一个节点值等不等于val,等于的话,执行删除下个节点的操作参考代码如下struct ListNode* removeElements(struct ListNode* head, int val){ struct ListNode*

2022-05-04 21:41:33 742

原创 数组杂项题目

数组杂项题目1. 两数之和问题描述:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。实现:int* twoSum(int* nums, int numsSize, int target, int* returnSize){ int* result; for(int i =

2022-05-04 11:21:49 50

原创 数组二分法

数组二分法一、题源:704. 二分查找问题描述给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。二、 思路:1、暴力解法最容易想到的方法就是直接对数组进行遍历,对比数组元素与target。时间复杂度:O(n)O(n )O(n)空间复杂度:O(1)O(1)O(1)注:暴力法虽然思路简单,容易想到,但是对于这个问题还有时间复杂度更低的方法2、二分法对于有序不重复的数组

2022-05-04 10:19:31 235

原创 滑动窗口法

典型例题一、题源:209. 长度最小的子数组问题描述给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。二、 思路:1、暴力解法最容易想到的方法就是直接对数组进行遍历,然后再从遍历的位置开始查找符合条件的子数组。时间复杂度:O(n2)O(n^2 )O(n2)空间复杂度:O(1)O(1)O

2022-05-03 18:40:04 1096

原创 Java基础——数据类型

Java基础——数据类型

2022-02-09 11:57:24 283

原创 Java基础——注释,关键字,标识符

注释、关键字、标识符

2022-02-09 10:11:00 684

原创 双指针法(快慢指针)

快慢指针法移除元素,及其题目变种

2022-01-17 18:45:30 387

原创 Markdown基本语法

工具TyporaMarkdown语法语法操作斜体两边加*粗体两边加**斜体加粗两边加***删除两边加~~引用>空格+内容分割线—或者***图片超链接方括号里面写超链接名,圆括号写超链接有序列表数字.空格+内容无序列表-/+/*空格+内容表格1右击->插入->表格表格2名字|性别|生日+回车±-|–|--|+回车+张三|男|1999.1.1,转源代码模式删去空行代码1··

2021-12-30 01:56:12 206

空空如也

空空如也

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

TA关注的人

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