avatar
文章
22
标签
34
分类
6
主页
分类
标签
龙晓
主页
分类
标签

龙晓

53.最大子数组和
发表于2025-04-17|力扣
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 是数组中的一个连续部分。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。 示例 2: 输入:nums = [1]输出:1 示例 3: 输入:nums = [5,4,-1,7,8]输出:23 提示: 1 <= nums.length <= 10^5 -10^4 <= nums[i] <= 10^4 问题描述:找到数组中连续子数组的最大和。 状态转移方程:dp[i] = max(nums[i], dp[i-1] + nums[i]) 初始条件:dp[0] = nums[0] class Solution {public: int maxSubArray(vector<int>& nums) { int NL=nums.size(); ...
6.Z字形变换
发表于2025-04-07|力扣
6. Z 字形变换 - 力扣(LeetCode) 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P A H NA P L S I I GY I R 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。 请你实现这个将字符串进行指定行数变换的函数: string convert(string s, int numRows); 示例 1: 输入:s = "PAYPALISHIRING", numRows = 3输出:"PAHNAPLSIIGYIR" 示例 2: 输入:s = "PAYPALISHIRING", numRows = 4输出:"PINALSIGYAHRPI"解释:P I NA L S I GY A H RP I 示例...
背包问题
发表于2024-07-06|背包问题
问题类型 核心区别 时间复杂度 典型应用场景 0-1背包 物品唯一 O(NV) 单次采购决策 完全背包 物品无限 O(NV) 货币组合问题 多重背包 物品数量限制 O(NVlog⁡S) 资源有限分配 混合背包 物品数量不固定 二维费用背包 双重约束 O(NMK) 多维度资源优化 分组背包 组内互斥 O(NV) 品牌选择问题 有依赖的背包 主件附件依赖 O($$NV^2$$) 组合商品购买 求背包方案数 求背包具体方案数 0/1背包二维核心逻辑: 二维数组存储状态,dp[i][j]表示前i个物品在容量j时的最大价值 时间/空间复杂度:O(n*m) 特点:直观体现状态转移过程 #include<iostream>using namespace std;const int N = 1010;int v[N], w[N]; // 价值数组和重量数组int dp[N][N]; // 二维DP数组int n, m; //...
redis基础介绍
发表于2024-06-05|数据库
Redis简介Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统。它以键值对形式存储数据,支持多种数据结构,它可以用作数据库、缓存和消息中间件。 它基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSQL数据库之一。 MySQL:数据关系型数据库,使用的是表结构。 Redis:非关系型数据库,使用的是key-value 核心特性 支持持久化功能,也就是将数据从内存保存到磁盘中。 支持丰富的数据类型,包括:string、set、sort set、list、hash 支持数据的备份,也就是主从复制。 Redis的优点 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。 原子 –...
5.最长回文子串
发表于2024-04-05|力扣
5. 最长回文子串 - 力扣(LeetCode) 给你一个字符串 s,找到 s 中最长的 回文 子串。 示例 1: 输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。 示例 2: 输入:s = "cbbd"输出:"bb" 提示: 1 <= s.length <= 1000 s 仅由数字和英文字母组成 中心扩散法 class Solution {public: string longestPalindrome(string s) { // 暴力,遍历每个字符:以当前的字符为中心向两边扩散 string result; string tmp; for(int i=0;i<s.size();i++){ calcuPalindrome(tmp,i,i,s);//字符串长度为奇数 ...
3.无重复字符的最长子串
发表于2024-03-30|力扣
3. 无重复字符的最长子串 - 力扣(LeetCode) 给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。 示例 1: 输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。 提示: 0 <= s.length <= 5 * 104 s 由英文字母、数字、符号和空格组成 双层循环class Solution {public: int lengthOfLongestSubstring(string s)...
2.两数相加
发表于2024-03-24|力扣
2. 两数相加 - 力扣(LeetCode) 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1: 输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807. 示例 2: 输入:l1 = [0], l2 = [0]输出:[0] 示例 3: 输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]输出:[8,9,9,9,0,0,0,1] 提示: 每个链表中的节点数在范围 [1, 100] 内 0 <= Node.val <= 9 题目数据保证列表表示的数字不含前导零 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ...
1.两数之和
发表于2024-03-05|力扣
1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。 示例 2: 输入:nums = [3,2,4], target = 6输出:[1,2] 示例 3: 输入:nums = [3,3], target = 6输出:[0,1] 提示: 2 <= nums.length <= 104 -109 <= nums[i] <= 109 -109 <= target <= 109 只会存在一个有效答案 class Solution {public: //暴力枚举 // vector<int>...
c++中的哈希容器
发表于2024-03-04|c++基础
各容器对比 容器名称 类型 底层结构 元素顺序 键唯一性 时间复杂度(查找) 头文件 set 有序集合 红黑树 升序排列 唯一 O(log n) <set> multiset 有序多重集合 红黑树 升序排列 可重复 O(log n) <set> unordered_set 无序集合 哈希表 无顺序 唯一 平均 O(1) <unordered_set> unordered_multiset 无序多重集合 哈希表 无顺序 可重复 平均 O(1) <unordered_set> map 有序映射 红黑树 按键升序 唯一 O(log n) <map> multimap 有序多重映射 红黑树 按键升序 可重复 O(log n) <map> unordered_map 无序映射 哈希表 无顺序 唯一 平均 O(1) <unordered_map> unordered_multimap 无序多重映射 哈希表 无顺序 可重复 平均...
原码、反码、补码
发表于2022-09-07|基础知识
原码、反码、补码全篇以一字节(8位)为例 机器数和真值机器数:一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,最高位存放符号, 正数为0, 负数为1。如数5、-5(十进制)分别转换成8位二进制为0000 0101、10000101 真值:将带符号位的机器数对应的真正数值称为机器数的真值。如有符号数10000101真正数值为-5,而不是133 原码定义:最高位为符号位,1 表示负数,0 表示正数。其余比特位表示值。 +5[原码]: 0000 0101 -5[原码]: 1000 0101 存在问题负数计算出错使用原码计算5-3: 假设我们要计算 (5 - 3) 的原码表示。 表示数字: (5) 的原码是 0000 0101(正数)。 (3) 的原码是 0000 0011(正数)。 取负数: ( -3 ) 的原码是 1000 0011(负数)。 计算: 0000 0101+ 1000 0011--------------- 1000 1000 结果分析: 结果 1000 1000 表示负数,得到的真值是...
123
avatar
Jin Long
悟已往之不谏
文章
22
标签
34
分类
6
Follow Me
公告
不定时更新
最新文章
23.合并K个排序链表2025-05-08
25.K个一组翻转链表2025-05-08
编译与调试2025-05-08
215.数组中的第K个最大元素2025-05-08
146.LRU缓存2025-04-17
分类
  • c++基础1
  • linux基础1
  • 力扣14
  • 基础知识3
  • 数据库1
  • 背包问题1
标签
有依赖背包 推排序 补码 字符串 多重背包 高精度计算 模拟 01背包 字符串操作 大小端 高可用 dp 动态规划 完全背包 查找 软链接与硬链接 滑动窗口 事务 背包的具体方案数 混合背包 锁 哈希 页面置换算法 LRU 链表 STL 编译与调式 redis 哈希表 c语言基础 判断大小端 分组背包 makefile 二维费用背包
归档
  • 五月 2025 4
  • 四月 2025 8
  • 七月 2024 1
  • 六月 2024 1
  • 四月 2024 1
  • 三月 2024 4
  • 九月 2022 2
  • 三月 2022 1
网站信息
文章数目 :
22
本站总字数 :
29.5k
本站访客数 :
本站总浏览量 :
最后更新时间 :
©2019 - 2025 By Jin Long
框架 Hexo 7.3.0|主题 Butterfly 5.3.5