
牛客(较水)
文章平均质量分 83
算法笔记,记录算法的思路、遇到的bug,以及能跑的代码。
清风莫追
我独自走在,郊外的小路上,我把糕点带给外婆尝一尝……
展开
-
【牛客-算法】NC61 两数之和(哈希表的运用,C++)
给出一个整型数组 numbers 和一个目标值 target,请在数组中找出两个加起来等于目标值的数的下标,返回的下标按升序排列。(注:返回的数组下标从1开始算起,保证target一定可以由数组里面2个数字相加得到)直接两层循环暴力搜索会超时。因此,我们可以使用**哈希表**(*散列表*)来节省时间,只需遍历一次数组。数组的下标是连续的数字,而哈希表的下标可以是不连续的数字、字符串。用哈希表的**左值**(*哈希表的下标*)存放数组中的数,**右值**存放对应的数组下标。原创 2022-11-04 07:00:00 · 1063 阅读 · 3 评论 -
【牛客-算法】NC56 回文数字
在不使用额外的内存空间的条件下判断一个整数是否是回文。回文指逆序和正序完全相同。负整数可以是回文吗?(比如 - 1)如果你在考虑将数字转化为字符串的话,请注意一下不能使用额外空间的限制你可以将整数翻转。但是,如果你做过题目“反转数字”,你会知道将整数翻转可能会出现溢出的情况,你怎么处理这个问题?原创 2022-10-23 07:00:00 · 478 阅读 · 7 评论 -
【牛客-算法】NC57 反转数字
先计算整数的**位数**,然后通过**除法、取模**得到首位和末尾的数字,再交换数字。先减一个数将原来的数字置零,然后加上**新数与对应数位的乘积**,就可以替换掉一个数位。给定一个32位的有符号整数num,将num中的数字部分反转,最后返回反转的结果。bug记录:一个负数取相反数运算,结果不变。现在已经知道是因为发生了溢出,但为什么溢出了结果数的值不变?大家可以自行了解下二进制补码计数法,即与计算机底层整数的表示方法有关。原创 2022-10-14 07:00:00 · 1042 阅读 · 50 评论 -
【牛客-算法】NC55 最长公共前缀
给你一个大小为 n 的字符串数组 strs ,其中包含n个字符串 , 编写一个函数来查找字符串数组中的最长公共前缀,返回这个公共前缀。纵向遍历;按字典顺序排序;时间复杂度;牛客;数据结构;字符串;原创 2022-10-05 17:49:40 · 1082 阅读 · 12 评论 -
【牛客-算法】NC52 有效括号序列
给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字符串是否是合法的括号序列括号必须以正确的顺序关闭,"()"和"()[]{}"都是合法的括号序列,但"(]"和"([)]"不合法。原创 2022-10-04 23:12:09 · 1118 阅读 · 10 评论 -
【牛客-算法】 NC48 在旋转过的有序数组中寻找目标值
在旋转过的有序数组中如何进行二分搜索?附其中碰到的一个报错:solution.c:94:13: warning: implicit declaration of function 'serchSorted' is invalid in C99 [-Wimplicit-function-declaration]原创 2022-10-02 21:32:09 · 947 阅读 · 25 评论 -
【牛客-算法】NC38 螺旋矩阵
给定一个 m∗n 大小的矩阵(m行,n列),按螺旋的顺序返回矩阵中的所有元素。遇到问题 1:关于函数的(int*)类型参数遇到问题2:关于malloc函数用法原创 2022-10-01 19:09:15 · 1008 阅读 · 13 评论 -
【牛客刷题-算法】NC34 不同路径的数目(一) | 动态规划、组合数解法
描述一个机器人在m×n大小的地图的左上角(起点)。机器人每次可以向下或向右移动。机器人要到达地图的右下角(终点)。可以有多少种不同的路径从起点走到终点?原创 2022-09-30 14:00:47 · 1013 阅读 · 6 评论 -
【牛客刷题-算法】加精 | 合并两个有序的链表 - 从思路设计、bug排除到最终实现的全过程
合并两个有序的单链表,从算法设计,到排除bug、优化代码、通过测试全过程展现。原创 2022-09-29 20:55:03 · 943 阅读 · 4 评论 -
【牛客刷题-算法】NC32 求平方根 (又是辛苦debug的一天)
求整数的平方根实现函数 `int sqrt(int x)`.计算并返回 x 的平方根(向下取整)原创 2022-09-28 20:32:13 · 1455 阅读 · 25 评论 -
【牛客刷题-算法】NC31 第一个只出现一次的字符 (哈希表、队列两种解法)
思路一:哈希表思路二:队列题目:在一个长为n的字符串中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)数据范围:0≤n≤10000,且字符串只有字母组成。原创 2022-09-27 16:34:07 · 937 阅读 · 39 评论 -
【牛客刷题-算法】NC25 删除有序链表中重复的元素-I
删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次.总体思路:遍历一次链表,过程中删除重复的元素。原创 2022-09-26 19:24:19 · 251 阅读 · 9 评论 -
【牛客刷题-算法】NC22 合并两个有序的数组
给出一个有序的整数数组 A 和有序的整数数组 B ,请将数组 B 合并到数组 A 中,变成一个有序的升序数组。思路:1)归并到一个新数组C中2)将A复制到C,再归并到A中3)直接在A中操作原创 2022-09-25 22:53:13 · 349 阅读 · 9 评论 -
【牛客刷题-算法】 NC19 连续子数组的最大和
输入一个长度为n的整型数组array,数组中的一个或连续多个整数组成一个子数组,子数组最小长度为1。求所有子数组的和的最大值。原创 2022-09-25 13:35:25 · 1474 阅读 · 26 评论 -
【牛客刷题-算法】NC16 对称的二叉树
给定一棵二叉树,判断其是否是自身的镜像(即:是否对称)原创 2022-09-24 18:36:03 · 663 阅读 · 5 评论 -
【牛客刷题-算法】 NC13 二叉树的最大深度
求给定二叉树的最大深度,深度是指树的根节点到任一叶子节点路径上节点的数量。最大深度是所有叶子节点的深度的最大值。原创 2022-09-23 21:28:51 · 1016 阅读 · 7 评论 -
【牛客刷题-算法】NC11 将升序数组转化为平衡二叉搜索树
给定一个升序排序的数组,将其转化为平衡二叉搜索树(BST).平衡二叉搜索树指树上每个节点 node 都满足左子树中所有节点的的值都小于 node 的值,右子树中所有节点的值都大于 node 的值,并且左右子树的节点数量之差不大于1原创 2022-09-22 23:10:49 · 354 阅读 · 25 评论 -
【牛客刷题-算法】NC9 二叉树中和为某一值的路径(一)
给定一个二叉树root和一个值 sum ,判断是否有从根节点到叶子节点的节点值之和等于 sum 的路径。1. 该题路径定义为从树的根结点开始往下一直到叶子结点所经过的结点2. 叶子节点是指没有子节点的节点3. 路径只能从父节点到子节点,不能从子节点到父节点4. 总节点数目为n原创 2022-09-19 20:46:50 · 298 阅读 · 20 评论 -
【牛客刷题-算法】NC7 买卖股票的最好时机(一)
假设你有一个数组prices,长度为n,其中prices[i]是股票在第i天的价格,请根据这个价格数组,返回买卖股票能获得的最大收益。我们可以在一次遍历股票价格的过程中,**动态地维护**一个记录**往日最低股价**的变量,并与当日的股价相比较,则得到当日卖出股票能拿到的最大利润。原创 2022-09-18 20:44:35 · 691 阅读 · 22 评论 -
【牛客刷题-算法】NC4 判断链表中是否有环
使用了巧妙的双指针(快慢指针)来判断链表中环的存在。原创 2022-09-17 23:30:51 · 239 阅读 · 3 评论 -
【牛客刷题-算法】NC151 最大公约数
讨论了求最大公约数的暴力解法,以及辗转相除法。原创 2022-09-16 23:05:38 · 1340 阅读 · 23 评论 -
【牛客刷题-算法】NC141 判断是否为回文字符串
学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?推荐一款面试、刷题神器:👉点击开始刷题学习👈。原创 2022-09-15 23:08:16 · 904 阅读 · 18 评论 -
【牛客刷题-算法】NC103 反转字符串
描述写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)推荐一款面试、刷题神器:👉点击开始刷题学习👈。原创 2022-09-14 20:43:37 · 837 阅读 · 22 评论 -
【牛客刷题-算法】3-第一篇-斐波拉契数列-C实现
斐波拉契数列的算法过程介绍,以及C代码实现。原创 2022-08-09 12:39:17 · 559 阅读 · 14 评论 -
【牛客刷题-算法】2-算法入门-栈的压入、弹出序列
题:判断栈的压入、弹出序列能否匹配。提供两个思路:1.使用递归,两个序列作为树的中序和后序遍历顺序,求前序 2. 使用一个辅助栈原创 2022-08-14 07:00:00 · 505 阅读 · 27 评论 -
【牛客刷题-算法】1-算法入门-数据结构-栈
C语言,栈从思路到实现。原创 2022-08-11 13:31:28 · 680 阅读 · 18 评论