01 2023 档案

摘要:快乐数 力扣题目链接(opens new window) 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。 阅读全文
posted @ 2023-01-30 21:38 dayceng 阅读(50) 评论(0) 推荐(0)
摘要:【C++链表】 使用c++重新写一遍LeetCode707设计链表 目的是熟悉c++中链表的操作 知识点 C++链表节点的实现 在c++中,一般通过结构体来定义链表的节点,也需要写构造函数(使用初始化列表) 如: struct ListNode{ int val; ListNode* next; / 阅读全文
posted @ 2023-01-28 22:13 dayceng 阅读(354) 评论(0) 推荐(1)
摘要:【友元】 在程序里,有些私有属性 也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术 友元的目的就是让一个函数或者类 访问另一个类中私有成员 友元的关键字为 friend 友元的三种实现 全局函数做友元 类做友元 成员函数做友元 全局函数友元 新建一个Building类,里面有客厅(pub 阅读全文
posted @ 2023-01-27 22:09 dayceng 阅读(100) 评论(0) 推荐(0)
摘要:【对象的初始化和清理】 生活中我们买的电子产品都基本会有出厂设置,在某一天我们不用时候也会删除一些自己信息数据保证安全 C++中的面向对象来源于生活,每个对象也都会有初始设置以及 对象销毁前的清理数据的设置。 构造函数和析构函数 对象的初始化和清理也是两个非常重要的安全问题 ​ 一个对象或者变量没有 阅读全文
posted @ 2023-01-26 19:02 dayceng 阅读(112) 评论(0) 推荐(0)
摘要:封装 封装的意义 封装是C++面向对象三大特性之一 封装的意义: 将属性和行为作为一个整体,表现生活中的事物 将属性和行为加以权限控制 封装意义一 ​ 在设计类的时候,属性和行为写在一起,表现事物 语法: class 类名{ 访问权限: 属性 / 行为 }; **示例1:**设计一个圆类,求圆的周长 阅读全文
posted @ 2023-01-26 11:42 dayceng 阅读(48) 评论(1) 推荐(0)
摘要:两个数组的交集 力扣题目链接(opens new window) 题意:给定两个数组,编写一个函数来计算它们的交集。 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。 思路 哈希表最擅长解决的一类问题是: 给一个元素,判断该元素在某个集合中是否出现过 本题也是非常符合哈希表 阅读全文
posted @ 2023-01-24 21:11 dayceng 阅读(100) 评论(0) 推荐(0)
摘要:有效的字母异位词 力扣题目链接(opens new window) 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "c 阅读全文
posted @ 2023-01-23 20:48 dayceng 阅读(61) 评论(0) 推荐(0)
摘要:链表相交 同:160.链表相交 力扣题目链接(opens new window) 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注 阅读全文
posted @ 2023-01-20 17:05 dayceng 阅读(43) 评论(0) 推荐(0)
摘要:环形链表II 力扣题目链接(opens new window) 题意: 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 说明: 阅读全文
posted @ 2023-01-20 11:34 dayceng 阅读(116) 评论(0) 推荐(0)
摘要:删除链表倒数第N个节点 力扣题目链接(opens new window) 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗? 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: 输入:head 阅读全文
posted @ 2023-01-18 11:10 dayceng 阅读(102) 评论(0) 推荐(0)
摘要:两两交换链表中的节点 力扣题目链接(opens new window) 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 思路 这里还是要应用虚拟头节点,不然交换链表头节点的操作会与交换其他节点时不同 交换的过程其实不难理解, 阅读全文
posted @ 2023-01-17 21:31 dayceng 阅读(450) 评论(0) 推荐(0)
摘要:翻转链表 力扣题目链接(opens new window) 题意:反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 思路分析 双指针法是本体的最基本的解法,由此还可以改写为递归解法 双指针法 我们需要定义两个指针,pre和cur 阅读全文
posted @ 2023-01-16 21:17 dayceng 阅读(121) 评论(0) 推荐(0)
摘要:设计链表 题目 力扣题目链接 设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-i 阅读全文
posted @ 2023-01-15 20:06 dayceng 阅读(105) 评论(0) 推荐(0)
摘要:移除链表元素 题目 力扣题目链接(opens new window) 题意:删除链表中等于给定值 val 的所有节点。 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示例 2: 输入:head = [], val = 1 输出:[] 阅读全文
posted @ 2023-01-12 21:11 dayceng 阅读(33) 评论(0) 推荐(0)
摘要:链表LinkedList by Java 之前有写过一些记录(引用),但是忘了乱了,现在重新梳理一遍 链表是Java中List接口的一种实现 定义(引用) 链表(linked list)是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的. 链表由一系列结点(链表中 阅读全文
posted @ 2023-01-12 17:30 dayceng 阅读(170) 评论(0) 推荐(0)
摘要:螺旋矩阵II 力扣题目链接(opens new window) 给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] 初见思路 说实话没什么 阅读全文
posted @ 2023-01-09 08:58 dayceng 阅读(85) 评论(0) 推荐(0)
摘要:长度最小的子数组 力扣题目链接(opens new window) 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。 示例: 输入:s = 7, nums = [2,3,1,2,4,3] 阅读全文
posted @ 2023-01-08 19:22 dayceng 阅读(119) 评论(0) 推荐(0)