- 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,...
- 一、题目 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/m... 一、题目 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/m...
- 一、题目 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。 假定 BST 有如下定义: 结点左子树中所含结点的值小于等于当前结点的值 结点右子树中所含结点的值大于等于当前结点的值 左子树和右子树都是二叉搜索树 1234567 二、 题解 根据二叉搜索树的性质可知,二叉搜索树的中序遍历序列是一个非递减的有序序列。所以... 一、题目 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。 假定 BST 有如下定义: 结点左子树中所含结点的值小于等于当前结点的值 结点右子树中所含结点的值大于等于当前结点的值 左子树和右子树都是二叉搜索树 1234567 二、 题解 根据二叉搜索树的性质可知,二叉搜索树的中序遍历序列是一个非递减的有序序列。所以...
- 文章目录 1. 衡量标准2. 如何计算复杂度?3. 时间复杂度与代码结构的关系4. 优化代码的必要性 1. 衡量标准 计算机通过一行行代码去完成某个任务,实际上就是对输入数据进行加工处理,并得到结果的过程。可见,编写代码的核心就是要完成计算。对于同一个计算任务,不同计算方法得到结果的过程复杂程度是不一样的,对应的代码运行效率也不一样。 因此,复... 文章目录 1. 衡量标准2. 如何计算复杂度?3. 时间复杂度与代码结构的关系4. 优化代码的必要性 1. 衡量标准 计算机通过一行行代码去完成某个任务,实际上就是对输入数据进行加工处理,并得到结果的过程。可见,编写代码的核心就是要完成计算。对于同一个计算任务,不同计算方法得到结果的过程复杂程度是不一样的,对应的代码运行效率也不一样。 因此,复...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签