- 博客(10)
- 收藏
- 关注
原创 剑指 Offer 17. 打印从1到最大的n位数
按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。
2022-10-08 22:09:16
32
原创 剑指 Offer 16. 数值的整数次方
即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。位运算是最靠近计算机底层的,所以计算效率特别高,尤其在数据量超大的情况下,优势很明显。long int 与 int的范围大小。与或运算常常用于判断奇偶。移位运算常常用于倍数运算。
2022-10-08 19:13:19
39
原创 剑指 Offer 15. 二进制中1的个数
编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为 汉明重量).)。n&(n-1) 推导过程在pad上。记录一大佬的牛逼的解题思路!
2022-10-08 16:41:35
40
原创 剑指 Offer 14- I. 剪绳子
给你一根长度为 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。贪心算法 数学推导 pad上。动态规划 (占个坑)
2022-10-08 16:38:37
32
原创 剑指 Offer 12. 矩阵中的路径
给定一个 m x n 二维字符网格 board 和一个字符串单词 word。如果 word 存在于网格中,返回 true;否则,返回 false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。
2022-10-05 14:18:12
33
原创 剑指 Offer 11. 旋转数组的最小数字
例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数组的最小值为 1。假设数组两端的索引分别是i,j。在m=(i+j)/2处,判断索引m的值与索引i的值的大小,若m处的值大于j处值,则最小值的区间是[m,j],若m处的值小于j处的值,则最小值的区间是[i,m],若相等,则i++.注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], ..., a[n-2]]。
2022-10-05 10:10:18
83
原创 剑指 Offer 07. 重建二叉树
报错:terminate called after throwing an instance of 'std::length_error' what(): cannot create std::vector larger than max_size()输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。
2022-10-02 19:14:38
157
原创 剑指offer 从未到头打印列表
先用一个链表指针接收,再创建一个vector容器,来存储数据,反转vector容器。输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
2022-10-02 12:33:33
307
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人