- 博客(54)
- 收藏
- 关注
原创 leetcode-48.旋转图像
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。
2023-10-17 17:03:40
362
原创 leetcode-64.最小路径和
0. 如果i = 0, j = 0, dp[i][j] = data[i][j];dp[i][j]表示i,j位置的路径最小值;data[i][j]表示位置i,j的值。
2023-10-15 16:28:21
173
原创 动态规划 -背包问题-详解
给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target。请你从 nums 中找出并返回总和为 target 的元素组合的个数。题目数据保证答案符合 32 位整数范围。示例 1:输入:nums = [1,2,3], target = 4输出:7解释:所有可能的组合为:(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。
2023-10-13 22:59:27
476
原创 leetcode-518. 零钱兑换 II
链接: 零钱兑换II3. 解决方案24. 本文解决方案参考作者:_zhy链接:https://leetcode.cn/problems/coin-change-ii/solutions/872055/liang-liao-4chong-fang-fa-3chong-tlenei-wk3xe/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
2023-10-13 15:42:25
131
原创 leetcode-电话号码组合(C CODE)
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
2023-10-12 22:45:33
435
原创 c++ virtual关键字
在C++中,virtual 是一个关键字,用于实现多态性(polymorphism)和动态绑定(dynamic binding)。它通常与类的成员函数一起使用,以允许在派生类中重写(override)基类的函数,并在运行时根据对象的实际类型调用正确的函数版本。
2023-10-10 15:40:34
755
1
原创 动态规划-杨辉三角(leetcode)
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2:输入: numRows = 1输出: [[1]]
2023-10-08 20:23:25
176
原创 动态规划-爬楼梯(leetcode)
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入:n = 3输出:3解释:有三种方法可以爬到楼顶。
2023-10-08 19:42:18
118
原创 牛客或leetcode编程C实现-深度优先探索(敌人数量)
有一个地图,大小是N*M,地图被’#‘分割成大小不同的区域,上下左右’.‘表示同一个区域,’.'表示空地,空地上可能有敌人,敌人使用’E’表示。举例:输入:3 5 2…#EEE.#…###…输出:1说明:2表示敌人个数小于2的区域,由于第二列被#分开了,所以地图有2个区域,其中左边区域敌人个数是1,所以结果输出是1。
2023-09-27 23:16:45
64
原创 linux 同步completion
completion 是 Linux 内核中用于实现同步的数据结构之一,它通常用于等待某个事件的完成或者等待某个操作的结果。struct completion 的主要作用是允许一个或多个线程等待另一个线程发出的信号,以表明某个事件已经发生或某个操作已经完成。
2023-09-20 11:31:49
120
原创 linux 自旋锁spin_lock
spin_lock 主要用于内核开发,用于在内核模块或内核代码中对共享资源进行互斥访问。它通常用于非抢占式内核环境,因为在抢占式内核中,内核线程可以在任何时间点被中断,这可能导致自旋锁在某些情况下陷入死锁。
2023-09-20 11:21:10
216
原创 linux 信号量(semaphore)
在Linux中,信号量是一种用于实现进程间同步和互斥的机制。信号量通常用于控制对共享资源的访问,以确保多个进程之间不会同时访问关键资源,从而避免竞态条件和数据损坏。
2023-09-20 10:42:58
776
原创 操作系统内存分配算法与实现
操作系统采用了多种内存分配算法和机制,以管理系统的物理内存资源。这些算法和机制的目标是提供高效的内存分配和回收,以满足不同应用程序和任务的需求。
2023-08-25 10:53:34
240
原创 操作系统-posix库
C库(C Standard Library)是一组用于C编程语言的标准函数和宏的集合,旨在为程序员提供常见任务的功能支持。这些函数和宏在C语言标准中定义,并且几乎所有的C编译器都会提供对这些标准库函数的实现。C库提供了许多常见的操作,如字符串处理、内存管理、数学计算等。POSIX(Portable Operating System Interface)是一组操作系统API的标准,旨在提供操作系统功能的可移植性。
2023-08-24 23:52:14
211
原创 rust引用
引用是一种允许程序在不获取所有权的情况下访问值的机制。在Rust中,引用分为可变引用(mutable references)和不可变引用(immutable references)。不同于其他编程语言中的指针,Rust的引用遵循了严格的规则,以确保在编译时防止数据竞争和内存安全问题。Rust的引用系统是其内存安全和并发性能的基石之一。通过引入不可变引用和可变引用,Rust允许程序以更安全的方式操作数据,同时避免了多线程环境下的数据竞争问题。引用的生命周期概念确保了引用的有效性,防止了悬垂引用等问题的发生。
2023-08-24 20:05:38
74
原创 rust ownership(所有权)
Rust是一门现代的系统编程语言,强调安全性和性能。它引入了独特的所有权系统,通过所有权、借用和生命周期来管理内存和资源的使用,以防止内存泄漏、数据竞争等问题。
2023-08-24 20:01:01
55
原创 rust 基本数据类型
布尔型用关键字bool表示,变量值只能是true或者false。元组类型,使用()包括一组数据,可以包含不同种类的数据。字符型用关键字char表示。
2023-08-23 14:11:09
64
原创 cmake 变量学习
自定义变量分为隐式定义与显示定义两种由project 和enable_language命令定义的变量称为隐式变量。该命令字段主要是定义工程名,上述命令会隐式定义一些变量,以所定义的project name开头隐式定义变量名例如Nornal变量定义是采用set命令将创建变量,并将 值设置为,在被设置之前, 会被展开。value值可以跟多个,如果是多个value,则variable变量以list形式进行保存。
2023-07-11 14:55:07
1027
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人