- 题目链接~~> 做题感悟:这题只要把一维的树状数组扩展到二维就可以了。 解题思路:树状数组插线问点:先简化一下,如果是一维的树状数组的插线问点让区间 [ a,b ] 同时加 x ,可以先让 [ 1,b ] + 1 ,再让 [ 1 ,a-1 ] -1 ,跟前缀和一样这样区间 [ a,b ] 就实现了 +1 ,但这时数组 c [ ]&nbs... 题目链接~~> 做题感悟:这题只要把一维的树状数组扩展到二维就可以了。 解题思路:树状数组插线问点:先简化一下,如果是一维的树状数组的插线问点让区间 [ a,b ] 同时加 x ,可以先让 [ 1,b ] + 1 ,再让 [ 1 ,a-1 ] -1 ,跟前缀和一样这样区间 [ a,b ] 就实现了 +1 ,但这时数组 c [ ]&nbs...
- 文章目录 一、说明 二、C语言代码实现 三、运行效果 一、说明 设计要求:实现课程设计题目的随机抽签 运行环境:Dev-C++ 总体思路:先声明一个exam数组,用于存放题目编号,并定义栈。调用 initarray 将 exam 数组初始化,里面的值为从 1 到n,然后生成数量与 exam 数组长度相等的随机数,把... 文章目录 一、说明 二、C语言代码实现 三、运行效果 一、说明 设计要求:实现课程设计题目的随机抽签 运行环境:Dev-C++ 总体思路:先声明一个exam数组,用于存放题目编号,并定义栈。调用 initarray 将 exam 数组初始化,里面的值为从 1 到n,然后生成数量与 exam 数组长度相等的随机数,把...
- 题目链接~~> 做题感悟:这题一看就知道要用状态压缩,本题和HDU 1429 胜利大逃亡(续)差不多。 解题思路:你可以把宝物压缩为二进制,例如:01001 代表你已经拿过 1 号和 4 号宝物了 0 代表相应的宝物没拿。用同样的方法把拿某个物品的前提条件也映射成二进制。假如你现在遇到 3 号宝物,如果3号宝物的前提条件是拿到 1 号 和 4 号宝物才能拿... 题目链接~~> 做题感悟:这题一看就知道要用状态压缩,本题和HDU 1429 胜利大逃亡(续)差不多。 解题思路:你可以把宝物压缩为二进制,例如:01001 代表你已经拿过 1 号和 4 号宝物了 0 代表相应的宝物没拿。用同样的方法把拿某个物品的前提条件也映射成二进制。假如你现在遇到 3 号宝物,如果3号宝物的前提条件是拿到 1 号 和 4 号宝物才能拿...
- 1.下面的( )不是良好编码的原则。D A 在开始编码之前建立单元测试 B 建立一种有助于理解的直观布局 C 确保注释与代码完全一致 D 保持变量名简短以便代码紧凑 2.下面的( )是错误的。C A在程序设计中使用括号以改善表达式的清晰性 B不要修补不好的程序,要重新写 C在程序设计中应尽可能对程序代码进行优化 D不要在注释中重复描述代码 3.为了保证软件的质量,使... 1.下面的( )不是良好编码的原则。D A 在开始编码之前建立单元测试 B 建立一种有助于理解的直观布局 C 确保注释与代码完全一致 D 保持变量名简短以便代码紧凑 2.下面的( )是错误的。C A在程序设计中使用括号以改善表达式的清晰性 B不要修补不好的程序,要重新写 C在程序设计中应尽可能对程序代码进行优化 D不要在注释中重复描述代码 3.为了保证软件的质量,使...
- 题目链接~~> 做题感悟:这题只能说很“ 经典 ” 。 解题思路:题意就是给你一个二行N例的一面墙,在墙上涂颜色,问你最少粉刷多少次,能达到给你的目标墙的状态,(每次粉刷只能粉刷出一个矩形,矩形可以是一行N例,也可以是二行N例); 思想:广度优先搜索(因为找最短路) 状态表示: 状态用二制位表示。例如当N=4时,就用8位二进制数表示... 题目链接~~> 做题感悟:这题只能说很“ 经典 ” 。 解题思路:题意就是给你一个二行N例的一面墙,在墙上涂颜色,问你最少粉刷多少次,能达到给你的目标墙的状态,(每次粉刷只能粉刷出一个矩形,矩形可以是一行N例,也可以是二行N例); 思想:广度优先搜索(因为找最短路) 状态表示: 状态用二制位表示。例如当N=4时,就用8位二进制数表示...
- 题目描述 数组中占比超过一半的元素称之为主要元素。给定一个整数数组,找到它的主要元素。若没有,返回-1。 示例 1: 输入:[1,2,5,9,5,9,5,5,5] 输出:5 12 示例 2: 输入:[3,2] 输出:-1 12 示例 3: 输入:[2,2,1,1,1,2,2] 输出:2 12 说明: 你有办法在时间复杂度为 O(N),空间复杂度为 O(... 题目描述 数组中占比超过一半的元素称之为主要元素。给定一个整数数组,找到它的主要元素。若没有,返回-1。 示例 1: 输入:[1,2,5,9,5,9,5,5,5] 输出:5 12 示例 2: 输入:[3,2] 输出:-1 12 示例 3: 输入:[2,2,1,1,1,2,2] 输出:2 12 说明: 你有办法在时间复杂度为 O(N),空间复杂度为 O(...
- 题目链接~~> 做题感悟:开始想到用 2^n 这样来求子序列但是这样会多算很多(因为你不知道前面比它小的数的顺序是怎样的),很纠结看解题报告+自己理解用了一个晚上。 解题思路:注意:这题如果出现 1 1 1 结果也是 7,并不是 3 。这题需要用到DP 的思想,假设dp[ i ] 为 i 时a[i] 所形成的不递减子序列,那么dp[ i ] ... 题目链接~~> 做题感悟:开始想到用 2^n 这样来求子序列但是这样会多算很多(因为你不知道前面比它小的数的顺序是怎样的),很纠结看解题报告+自己理解用了一个晚上。 解题思路:注意:这题如果出现 1 1 1 结果也是 7,并不是 3 。这题需要用到DP 的思想,假设dp[ i ] 为 i 时a[i] 所形成的不递减子序列,那么dp[ i ] ...
- 题目链接~~> 做题感悟:做完这题第一感觉就是并查集的题只要一加深一下就不会了。 解题思路: 给你长度为 n 的 0 和 1 组成的字符串,然后问给你许多条件 x ~ y 之间(包括x , y )... 题目链接~~> 做题感悟:做完这题第一感觉就是并查集的题只要一加深一下就不会了。 解题思路: 给你长度为 n 的 0 和 1 组成的字符串,然后问给你许多条件 x ~ y 之间(包括x , y )...
- 本题思考 最开始我是分情况讨论各种相交的情况,发现判断语句写的非常繁琐,容易漏掉情况。其实这道题最简单的做法是: (1)找出不相交的通用判断方法 当一个矩形的横(纵)坐标的最大值小于另一矩形横(纵)坐标的最小值时,不相交 (2)找出相交情况面积的通用计算方法 相交的形状是个长方形,因此只需要计算长和宽。计算长:将四个横坐标升序排序,第三个减去第二个;同样的方法计算宽。... 本题思考 最开始我是分情况讨论各种相交的情况,发现判断语句写的非常繁琐,容易漏掉情况。其实这道题最简单的做法是: (1)找出不相交的通用判断方法 当一个矩形的横(纵)坐标的最大值小于另一矩形横(纵)坐标的最小值时,不相交 (2)找出相交情况面积的通用计算方法 相交的形状是个长方形,因此只需要计算长和宽。计算长:将四个横坐标升序排序,第三个减去第二个;同样的方法计算宽。...
- 目录 1.使用string类的优点2.初始化和基本运用3.访问string字符串的字符内容 1.使用string类的优点 在C++中,字符串是一个字符数组。最简单的字符数组数组可这样定义: char staticArray[20]; //声明一个固定长度的静态字符数组 1 这样的一个静态数组,它的长度是固定的。而在很多实际问题中,我们定义的字符数... 目录 1.使用string类的优点2.初始化和基本运用3.访问string字符串的字符内容 1.使用string类的优点 在C++中,字符串是一个字符数组。最简单的字符数组数组可这样定义: char staticArray[20]; //声明一个固定长度的静态字符数组 1 这样的一个静态数组,它的长度是固定的。而在很多实际问题中,我们定义的字符数...
- 写在前面:大家好!我是【AI 菌】,一枚爱弹吉他的程序员。我热爱AI、热爱分享、热爱开源! 这博客是我对学习的一点总结与记录。如果您也对 深度学习、机器视觉、算法、Python、C++ 感兴趣,可以关注我的动态,我们一起学习,一起进步~ 我的博客地址为:【AI 菌】的博客 我的Github项目地址是:【AI 菌】的Github 来源:力扣(LeetCod... 写在前面:大家好!我是【AI 菌】,一枚爱弹吉他的程序员。我热爱AI、热爱分享、热爱开源! 这博客是我对学习的一点总结与记录。如果您也对 深度学习、机器视觉、算法、Python、C++ 感兴趣,可以关注我的动态,我们一起学习,一起进步~ 我的博客地址为:【AI 菌】的博客 我的Github项目地址是:【AI 菌】的Github 来源:力扣(LeetCod...
- 一、题目 请设计一个栈,除了常规栈支持的pop与push函数以外,还支持min函数,该函数返回栈元素中的最小值。 执行push、pop和min操作的时间复杂度必须为O(1)。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/min-stack-lcci 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请... 一、题目 请设计一个栈,除了常规栈支持的pop与push函数以外,还支持min函数,该函数返回栈元素中的最小值。 执行push、pop和min操作的时间复杂度必须为O(1)。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/min-stack-lcci 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请...
- 一、题目 给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。 换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/intersection-of-two-li... 一、题目 给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。 换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/intersection-of-two-li...
- 养成一个良好的编程习惯,不仅有助于代码的可靠性和可读性,还可以避免coding过程中出现不必要的bug。下面来总结一下C++编程过程中需要注意的一些小技巧和问题: 1.给变量指定有意义的名称(按照常用的命名规则),这样使得代码更容易被理解。 2.对于int、float、double等变量,务必进行初始化。 3.务必将指针初始化为NULL或者有效的地址,比如运算符new... 养成一个良好的编程习惯,不仅有助于代码的可靠性和可读性,还可以避免coding过程中出现不必要的bug。下面来总结一下C++编程过程中需要注意的一些小技巧和问题: 1.给变量指定有意义的名称(按照常用的命名规则),这样使得代码更容易被理解。 2.对于int、float、double等变量,务必进行初始化。 3.务必将指针初始化为NULL或者有效的地址,比如运算符new...
- 前言: 跳跃游戏 涉及到一些常用算法,比如贪心算法、广度优先搜索等,属于LeetCode题库中的中等题和难题,也是大厂笔试中常考的题型之一。 一、跳跃游戏1 题目 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,... 前言: 跳跃游戏 涉及到一些常用算法,比如贪心算法、广度优先搜索等,属于LeetCode题库中的中等题和难题,也是大厂笔试中常考的题型之一。 一、跳跃游戏1 题目 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,...
上滑加载中
推荐直播
-
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中
热门标签