刷题
风铃奈
加油加油加油呀
展开
-
【刷题】笔试训练3——合法括号序列判断/另类加法
文章目录1.原题链接代码2.原题链接描述代码 1.原题链接 合法括号序列判断 给定一个字符串A和其长度n,请返回一个bool值代表它是否为一个合法的括号串(只能由括号组成)。 测试样例: “(()())”,6 返回:true 测试样例: “()a()()”,7 返回:false 测试样例: “()(()()”,7 返回:false 代码 class Parenthesis { public: bool chkParenthesis(string A, int n) { /原创 2022-05-19 20:30:51 · 180 阅读 · 0 评论 -
【刷题】笔试训练2——Fibonacci数列
文章目录Fibonacci数列描述输入描述:输出描述:代码 Fibonacci数列 链接:Fibonacci数列 描述 Fibonacci数列是这样定义的: F[0] = 0,F[1] = 1,for each i ≥ 2: F[i] = F[i-1] + F[i-2],因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, …,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X原创 2022-05-17 23:16:00 · 173 阅读 · 0 评论 -
【刷题】笔试训练——每日两题
文章目录第一题描述输入描述:输出描述:代码第二题描述输入描述:返回值描述:代码 第一题 牛客:WY16 不要二 不要2 描述 二货小易有一个W*H的网格盒子,网格的行编号为0H-1,网格的列编号为0W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。 对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为: ( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根 小易想知道最多可以放多少块蛋糕在网格盒子里。 输入描述: 每组数组包含网格原创 2022-05-16 08:40:59 · 148 阅读 · 0 评论 -
【刷题】二叉树的最大深度
原题链接二叉树最大深度 文章目录解法一递归解法二层序遍历 解法一 递归 1.递归求左子树的最大高度 2.再递归求右子树的最大高度 3.返回左右子树中较深的那个,加上根节点的高度1 class Solution { public: /** * * @param root TreeNode类 * @return int整型 */ int maxDepth(TreeNode* root) { // write code here原创 2022-05-11 09:38:43 · 125 阅读 · 0 评论 -
【力扣】C语言实现反转链表
目录 一、目的 二、方法 方法一:分隔头插 方法二:逆转箭头 一、目的 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 二、方法 方法一:分隔头插 1.将第一个结点和其他结点分隔开,将分隔下来的链表分别进行头插,实现逆转 struct ListNode* reverseList(struct ListNode* head){//这里的head指的是第一个结点 if(he原创 2021-12-07 23:33:17 · 1697 阅读 · 2 评论 -
【c语言】一个数组中只有两个数字出现了一次
题目描述 新:一个数组中只有两个数字出现了一次,其他数字都出现了两次,编写一个函数找出这两个只出现过一次的数字 1.首先,我们一定觉得很耳熟,我们曾经应该做过这样一个题目 旧:一个数组中只有一个数字出现过一次,其他数字都出现两次,请找出这个只出现过一次的数字 我们在做旧题的时候,用到的方法是整体异或,最终的结果就是我们想到找的数字(原因:任意两个相同的数字异或结果为0,0和任意数字异或结果都是数字本身) 2.其次,分析我们的新题,如果我们将这个数组整体异或,一定可以得到三个结论 1.结原创 2021-11-26 15:30:49 · 758 阅读 · 2 评论 -
【刷题】字符串旋转结果,判断一个字符串是否可以由另一个字符串旋转得到
题目描述 写一个函数,判断一个字符串能否为另外一个字符串旋转之后的字符串 例如: 给定s1=AABCD和s2BCDAA,返回1 给定s1=abcd和s2=ABCD,返回0 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA AABCD右旋一个字符等到DAABC 方法一(不断左旋) 1、算法思想 1.实现任意次数的左旋 2.在逐次进行左旋,然后不断进行比较 易于理解,效率低 2、过程 part1: 1.首先先写出一个可以实现旋转字符串num次的函数,为了避免不必要的原创 2021-11-17 22:47:16 · 603 阅读 · 0 评论 -
【猜名次】运动员
1.题目描述 方法:穷举法 2.算法思想 1.先穷举,每个运动员都可以为1-5的名次,5个for()循环 2.然后加限定条件 a.题目中说每个选手说对一半,只需要(条件一)+(条件二)==1,则满足说对一半的要求 b.五个运动员之间需要用逻辑与约束 c.但是还有另一个约束 3.题目中没有约束名次不可以并列,那就要考虑到不能有跳名次的情况(即不能出现三个并列第一,一个第三名,一个第四名;或是五个并列第四) a.设一个无符号的char类型...原创 2021-11-11 22:12:42 · 130 阅读 · 0 评论 -
【剑指offer】05.替换空格
1.题目描述 请实现一个函数,把字符串s中的每个空格替换成"%20"。 方法:字符数组 2.算法思想 1.首先把空格替换成“%20”,字符串长度需要变化,有一个空格,字符串就要扩加两个空格,才能保证放得下 2.改变字符串长度可以用resize()函数 3.当字符串变成一个新的长度以后,两个指针,一个放在旧字符串的尾部,称为i,一个放在新字符串的尾部,称为j 4.移动两个指针(从尾部向头部移动),如果i指向的位置里的元素不是空格就直接赋值给j指向的位置区域 5.如果i指向的位置里的元..原创 2021-11-11 18:43:40 · 149 阅读 · 0 评论 -
【力扣】268丢失的数字
目录 题目描述 方法一:排序 方法二:数学公式 方法三:位运算 题目描述 给定一个包含[0, n]中n个数的数组nums,找出[0, n]这个范围内没有出现在数组中的那个数。 n == nums.length 1 <= n <= 104 0 <= nums[i] <= n nums中的所有数字都独一无二 方法一:排序 1.思想 1.先将整个数组进行排序 2.定义i的值从0-n, 3.一个for()循环...原创 2021-11-06 22:38:51 · 60 阅读 · 1 评论 -
【剑指offer】14- II. 剪绳子 II
1.题目描述 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m - 1] 。请问 k[0]*k[1]*...*k[m - 1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 2.方法:贪心 算法思想 1.同减绳子.原创 2021-11-05 15:09:03 · 66 阅读 · 0 评论