- 题目链接~~> 做题感悟:这题只要把一维的树状数组扩展到二维就可以了。 解题思路:树状数组插线问点:先简化一下,如果是一维的树状数组的插线问点让区间 [ 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,...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签