05 2023 档案

摘要:小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root 。 除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果 两个直接相连的房子在同一天晚上被打劫 ,房屋将自动报警。 给定二叉树的 阅读全文
posted @ 2023-05-31 21:12 xiazichengxi 阅读(8) 评论(0) 推荐(0) 编辑
摘要:你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。 给定一个代表每个房屋存放金额的非负整数数组,计算你 在不 阅读全文
posted @ 2023-05-31 16:26 xiazichengxi 阅读(6) 评论(0) 推荐(0) 编辑
摘要:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 `` 阅读全文
posted @ 2023-05-31 15:54 xiazichengxi 阅读(7) 评论(0) 推荐(0) 编辑
摘要:## 1. 按字节实现 ### 1)初步版本 ``` void* my_memcpy(void* dst,const void *src,int n){ if(dst == NULL && src == NULL && n s && d s && d < (char*)s + n){ //从后往前写 阅读全文
posted @ 2023-05-31 15:35 xiazichengxi 阅读(91) 评论(0) 推荐(0) 编辑
摘要:给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 给你一个整数 n ,返回和为 n 的完全平方数的 最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、 阅读全文
posted @ 2023-05-30 14:08 xiazichengxi 阅读(8) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 ``` 输入:coins = [1, 2, 5], amount 阅读全文
posted @ 2023-05-30 13:45 xiazichengxi 阅读(9) 评论(0) 推荐(0) 编辑
摘要:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 直到 m 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 **> 动态规划** ``` class Solution { public: int combinationSum4(int m, in 阅读全文
posted @ 2023-05-30 13:15 xiazichengxi 阅读(52) 评论(0) 推荐(0) 编辑
摘要:给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围。 ``` 输入:nums = [1,2,3], target = 4 输出:7 解释: 所有可能的组合为: ( 阅读全文
posted @ 2023-05-29 21:16 xiazichengxi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带符号整数。 ``` 输入:amount = 5, co 阅读全文
posted @ 2023-05-29 19:44 xiazichengxi 阅读(5) 评论(0) 推荐(0) 编辑
摘要:请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读入字符串并丢弃无用的前导空格 检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有 阅读全文
posted @ 2023-05-26 21:12 xiazichengxi 阅读(12) 评论(0) 推荐(0) 编辑
摘要:# C++ ## 1. C++从源文件到可执行文件的步骤 ​ (1) **预处理**:处理所有的预编译指令,生成.i文件。 ​ (2) **编译**:经过词法分析、语法分析、语义分析和优化后生成汇编语言。生成.s文件 ​ (3) **汇编**:将编译阶段生成的汇编文件转化成机器码,生成可重定位目标文 阅读全文
posted @ 2023-05-26 21:00 xiazichengxi 阅读(30) 评论(0) 推荐(0) 编辑
摘要:给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。 **> 动态规划** ``` class Solution { p 阅读全文
posted @ 2023-05-26 16:08 xiazichengxi 阅读(11) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 '+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums = [2, 1] ,可以在 2 之前添加 '+' ,在 1 之前添加 '-' ,然后串联起来得到表达式 "+2-1" 。 返回可以通 阅读全文
posted @ 2023-05-26 15:22 xiazichengxi 阅读(7) 评论(0) 推荐(0) 编辑
摘要:有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x 动态规划** ``` class Solution { public: int lastStoneWeigh 阅读全文
posted @ 2023-05-26 14:19 xiazichengxi 阅读(9) 评论(0) 推荐(0) 编辑
摘要:###my_shared_ptr.h ``` #include #include template class my_shared_ptr { private: T* m_ptr = nullptr; unsigned int* ref_count = nullptr; void swap(my_s 阅读全文
posted @ 2023-05-25 18:25 xiazichengxi 阅读(12) 评论(0) 推荐(0) 编辑
摘要:# 1.什么是惊群问题 ​ 如今网络编程中经常用到多进程或多线程模型,大概的思路是父进程创建socket,bind、listen后,通过fork创建多个子进程,每个子进程继承了父进程的socket,调用accpet开始监听等待网络连接。这个时候有多个进程同时等待网络的连接事件,当这个事件发生时,这些 阅读全文
posted @ 2023-05-24 20:13 xiazichengxi 阅读(65) 评论(0) 推荐(0) 编辑
摘要:# 项目程序框图 **技术框架:** 1. **线程池 + 非阻塞 socket + epoll + 事件处理的并发模型** 2. **状态机解析HTTP请求** 3. **心跳机制** 4. **简易日志系统** 主要内容: 1. 使用 socket 实现服务器和浏览器客户端的通信; 2. 用 e 阅读全文
posted @ 2023-05-23 15:24 xiazichengxi 阅读(98) 评论(0) 推荐(0) 编辑
摘要:给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 输入:nums = [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和 [11] 。 标准解法 class Solution { public: 阅读全文
posted @ 2023-05-15 09:53 xiazichengxi 阅读(18) 评论(0) 推荐(0) 编辑
摘要:给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 输入:n = 3 输出:5 动态规划 class Solution { public: int numTrees(int n) { int dp[20] = {0}; 阅读全文
posted @ 2023-05-11 20:05 xiazichengxi 阅读(11) 评论(0) 推荐(0) 编辑
摘要:给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 输入: n = 2 输出: 1 解释: 2 = 1 + 1, 1 × 1 = 1。 我的解法 class Solution { public: int intege 阅读全文
posted @ 2023-05-11 17:37 xiazichengxi 阅读(15) 评论(0) 推荐(0) 编辑
摘要:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用 1 和 阅读全文
posted @ 2023-05-11 16:11 xiazichengxi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 输入:m = 3, n = 7 输出:28 动态规划 class Solut 阅读全文
posted @ 2023-05-11 15:50 xiazichengxi 阅读(4) 评论(0) 推荐(0) 编辑
摘要:给定一个二叉树,我们在树的节点上安装摄像头。 节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。 计算监控树的所有节点所需的最小摄像头数量。 示例 1: 输入:[0,0,null,0,0] 输出:1 解释:如图所示,一台摄像头足以监控所有节点。 我的解法 class Solution { p 阅读全文
posted @ 2023-05-10 18:42 xiazichengxi 阅读(9) 评论(0) 推荐(0) 编辑
摘要:当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。 给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增 。 输入: n = 10 输出: 9 我的解法 class Solution { public: int monotoneIncr 阅读全文
posted @ 2023-05-10 16:01 xiazichengxi 阅读(22) 评论(0) 推荐(0) 编辑
摘要:以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 输入:intervals = [[1,3],[2,6],[8,10],[15,1 阅读全文
posted @ 2023-05-10 10:48 xiazichengxi 阅读(16) 评论(0) 推荐(0) 编辑
摘要:给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度的列表。 输入:s = "ababcbacadefegdehijhklij" 输出:[9,7,8 阅读全文
posted @ 2023-05-09 20:57 xiazichengxi 阅读(14) 评论(0) 推荐(0) 编辑
摘要:给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 输入: intervals = [[1,2],[2,3],[3,4],[1,3]] 输出: 1 解释: 移除 [1,3] 后,剩下的区间 阅读全文
posted @ 2023-05-09 14:24 xiazichengxi 阅读(7) 评论(0) 推荐(0) 编辑
摘要:在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。 一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结 阅读全文
posted @ 2023-05-08 17:04 xiazichengxi 阅读(19) 评论(0) 推荐(0) 编辑
摘要:假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数组 people 所表示的队列。返回的队列应 阅读全文
posted @ 2023-05-08 15:57 xiazichengxi 阅读(12) 评论(0) 推荐(0) 编辑
摘要:在柠檬水摊上,每一杯柠檬水的售价为 5 美元。 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。 注意,一开始你手头没有任何零钱。 如 阅读全文
posted @ 2023-05-08 14:37 xiazichengxi 阅读(10) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩