代码编织梦想

博弈论-爱代码爱编程

目录 概念:  公平组合游戏ICG 有向图游戏 Nim游戏 先手)必胜状态 先手)必败状态 如何确定先手是否必胜或者必败(都采用最优策略) 证明:全部异或为0则是必败状态    综上: 例子 概念:  公平组合游戏ICG     若一个游戏满足:         1.由两名玩家交替行动;         2.在游戏进程的任

209. 长度最小的子数组-爱代码爱编程

题目: 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 解法【滑动窗口】: class Solution { publi

【力扣hot100】刷题笔记day10-爱代码爱编程

前言 一鼓作气把链表给刷完!!中等题困难题冲冲冲啊啊啊! 25. K 个一组翻转链表 - 力扣(LeetCode) 模拟 class Solution: def reverseKGroup(self, head: Optional[ListNode], k: int) -> Optional[ListNode]:

【力扣hot100】刷题笔记day11-爱代码爱编程

前言 科研不顺啊......又不想搞了,随便弄弄吧,多花点时间刷题,今天开启二叉树! 94. 二叉树的中序遍历 - 力扣(LeetCode) 递归 # 最简单递归 class Solution: def inorderTraversal(self, root: TreeNode) -> List[int]: i

【力扣hot100】刷题笔记day2-爱代码爱编程

前言 hot100!开刷!不熟悉python就cv大法先,理清楚思路更重要 哈希 1. 两数之和 - 力扣(LeetCode) 暴力法 能过,遍历两遍求和是否为target class Solution(object): def twoSum(self, nums, target): n = len(nums)

【力扣hot100】刷题笔记day7-爱代码爱编程

前言 身边同学已经陆陆续续回来啦,舍友都开始投简历了,我也要加油啦!刷完hot100就投! 73. 矩阵置零 - 力扣(LeetCode) 标记数组:空间复杂度O(m+n) class Solution: def setZeroes(self, matrix: List[List[int]]) -> None:

【力扣hot100】刷题笔记day8-爱代码爱编程

前言 到了大章节【链表】了,争取两三天给它搞定!! 160. 相交链表 - 力扣(LeetCode)】 双指针 参考题解,相比于求长度+右对齐再一起出发的方法简洁多了 class Solution: def getIntersectionNode(self, headA: ListNode, headB: ListNode) ->

【力扣hot100】刷题笔记day14-爱代码爱编程

前言 又是新的一周,快乐的周一,快乐地刷题,今天把链表搞完再干活! 114. 二叉树展开为链表 - 力扣(LeetCode) 前序遍历 class Solution: def flatten(self, root: Optional[TreeNode]) -> None: if not root:

【力扣hot100】刷题笔记day1-爱代码爱编程

前言 既然打算年后去找算法的实习,所以之后想直接改用python刷hot100了(新坑芜湖~),在B站大学找到这个刷题教程,先快速过一遍里面提到的python语法 Python数组 # 创建数组 a = [] # 添加元素,O(1) a.append(1) a.append(2) a.append(3) # [1, 2, 3] # 插入元素,O(

【redis】深入理解 redis 常用数据类型源码及底层实现(6.详解set和zset数据结构)-爱代码爱编程

 本文是深入理解 Redis 常用数据类型源码及底层实现系列的第6篇~前5篇可移步( ̄∇ ̄)/ 【Redis】深入理解 Redis 常用数据类型源码及底层实现(1.结构与源码概述)-CSDN博客 【Redis】深入理解 Redis 常用数据类型源码及底层实现(2.版本区别+dictEntry & redisObject详解)-CSDN博客 【

小白的matlab简单应用-爱代码爱编程

基本概念 1、数组array  数组是一个更通用的数据结构,可以是一维、二维或多维的。 一维数组通常被称为向量。 二维数组可以被视为矩阵。 多维数组可以用来表示更高维度的数据,例如三维数组可以表示一系列的矩阵。 用过的函数 20240229 1、读取excel文件 T = readtable(filename);               

【力扣hot100】刷题笔记day17-爱代码爱编程

前言 今天竟然不用开组会!天大的好消息,安心刷题了 46. 全排列 - 力扣(LeetCode) 回溯(排列) class Solution: def permute(self, nums: List[int]) -> List[List[int]]: # 回溯 def backtrack():

g1015筛选质数-爱代码爱编程

题目描述 完善程序: 筛选法求1到N之间有多少质数。 #include <bits/stdc++.h> using namespace std; int N, ANS; int a[1000010]; int main() {      freopen("1452.in","r",stdin);      freopen("1452.out

leetcoder day24| 回溯part04:组合+分割-爱代码爱编程

93.复原IP地址 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效的 IP 地址,但是 "0.011.255.245"、"

数据结构-爱代码爱编程

B树的预备知识    我们平常查找比如用搜索二叉树哈希表这些数据结构,一般都是数据在内存中的,这样的话访问数据的速度就很快,这种查找也叫做内查找。二分查找或者直接顺序查找也适合内查找。   但是当数据量非常大时,比如有100G的数据,此时内存就放不下了,只能放在磁盘上了,在内存外的存储结构上查找也就是外查找。   对于外查找以我们之前所学习的知识,该

【数据结构和算法初阶(c语言)】链表-爱代码爱编程

目录 1.前言:顺序表回顾: 1.1顺序表的优缺点  2.主角----链表 2.1链表的概念 2.2定义一个单链表的具体实现代码方式 3.单链表对数据的管理----增删查改 3.1单链表的创建 3.2单链表的遍历实现 3.2.1利用遍历实现一个打印我们链表内容的函数的函数  3.3头插法----从头部插入数据实现 3.4尾插法--

贪心算法:leetcode 455.分发饼干、376.摆动序列、53.最大子序和-爱代码爱编程

leetcode 455.分发饼干 leetcode 376.摆动序列 leetcode 53.最大子序和 贪心算法理论基础 什么是贪心 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额,你要怎么拿? 指定每次拿最大的,最终结果就是拿走最大数额的钱。

海智算法训练营第三十五天 | 第八章 贪心算法 part05 | ● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间-爱代码爱编程

今日任务: 1.非重叠区间问题(和气球一样) 2.划分字母区间 3.合并区间 1.非重叠区间问题(和气球一样) 力扣题目链接 和射气球一样的做法,经典重叠区间基础问题 class Solution { public int eraseOverlapIntervals(int[][] intervals) {

2.25作业-爱代码爱编程

1. if( (tail+1)%SEQLEN != head ) {     seqn[tail] = data;     tail = (tail+1)%SEQLEN; } 2. if( head != tail ) {     data = seqn[tail];     head = (head+1)%SEQLEN; } 3. if(h