老实人胖虎
老实人胖虎
全部文章
题解
c++(25)
cuda学习(4)
fft(1)
matlab(4)
信号处理(1)
数据结构与算法(29)
未归档(1)
杂谈(1)
笔试(1)
软件(3)
链表(1)
面试(2)
归档
标签
去牛客网
登录
/
注册
老实人胖虎
热衷于分享最老实的做法
全部文章
/ 题解
(共6篇)
题解 | #坐标移动#老实人的老实解法
来自专栏
由于坐标一定是;分割,所以每次都把第一个分号前面的字符串得到,然后判断是否合法,进而对坐标进行加加减减,就可以得到最终的目标;而且首先判断是否合法也有一个好处,就是可以避免非法情况进入正常的处理流程; string a; a.find(';'); 返回第一个`;`的位置 a.substr(0, ...
2021-08-14
0
507
题解 | #进制转换#老实人的进制转换总结
来自专栏
进制转换 H2D 16进制转10进制挺好写,直接类似科学计数法,每一位乘以对应的幂; #include using namespace std; int main() { string inputStr; while (cin >> inputStr) { int ans=0; inpu...
2021-08-09
0
656
题解 | #重建二叉树#老实人又来了~
来自专栏
这道题目前前后后做了好几遍,但是每一次都害怕写错了细节,所以多复习几遍准没错~ 首先我们要烂熟于心:前序:根左右;中序:左根右;后续:左右根 那么,前序 + 中序就可以唯一确定一棵树,首先由前序确定根结点的值,然后中序找出根结点的位置,确定左右子树的结点个数;接着就可以采用递归思路求解了;中序 ...
2021-08-06
0
487
题解 | #排序#老实人的堆排序方法
来自专栏
首先讲讲堆的数据结构:堆就是利用完全二叉树的结构建立的一维数组,是顺序存储结构的二叉树,最后一个父节点是dad = len / 2 - 1 两个子结点是son1 = dad * 2 + 1;son2 = dad * 2 + 2 然后说说堆排序的过程:首先是建立最大堆,然后是最大堆调整;我们定义一...
2021-08-05
0
443
题解 | #明明的随机数# 老实人做法
来自专栏
看到评论区有人直接用map存储,直接解决了去重和排序,果然是秀儿啊!这里分享一个老实人的做法 首先是删除重复元素,这里借鉴一下 LC26删除有序数组中的重复项的做法,首先sort,然后原地交换,最后将数组resize; 然后就是排序,写一个归并,归并排序是稳定的,时间复杂度为O(Nlog2N)#i...
2021-08-05
0
445
题解 | #计算某字母出现次数#
来自专栏
写一个比较朴素的回答: 首先定义一个函数,用于判断字符是否是字母,也就是和a,A之类的进行比较,如果是字母就返回true; 然后就是,大小写字母之间的转换,ASCII码 a:97 A:65 ,大写 = 小写 - 32;将输入的字母对应的大(小)写存储,用于后续的判断; 遍历字符串,如果是字母,进行...
2021-08-05
1
436