07 2022 档案

摘要:1.剑指 Offer 14- II. 剪绳子 II 1 class Solution { 2 public: 3 int cuttingRope(int n) { 4 if(n <= 3) return n - 1; 5 long res = 1; 6 while(n > 4){ 7 n -= 3; 阅读全文
posted @ 2022-07-28 17:52 balabalahhh 阅读(21) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 17. 打印从 1 到最大的 n 位数 1)直接列举(执行用时比分治短) 1 class Solution { 2 public: 3 vector<int> printNumbers(int n) { 4 vector<int> res; 5 int num = 0; 6 f 阅读全文
posted @ 2022-07-26 22:50 balabalahhh 阅读(21) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 49. 丑数 1)会超时,数据范围只能到1200几 1 class Solution { 2 public: 3 int nthUglyNumber(int n) { 4 int k = 0,res; 5 for(int i = 1;;i ++){ 6 if(isUglyNum(i 阅读全文
posted @ 2022-07-25 22:23 balabalahhh 阅读(15) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 37. 序列化二叉树 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * Tre 阅读全文
posted @ 2022-07-24 22:12 balabalahhh 阅读(26) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 59 - I. 滑动窗口的最大值 单调队列 1 class Solution { 2 public: 3 vector<int> maxSlidingWindow(vector<int>& nums, int k) { 4 vector<int> res; 5 deque<in 阅读全文
posted @ 2022-07-23 11:53 balabalahhh 阅读(14) 评论(0) 推荐(0) 编辑
摘要:“如果一个选手比你小还比你强,你就可以退役了。”——单调队列的原理 作者写的很好,例子也很形象 : 算法学习笔记(66): 单调队列 - 知乎 (zhihu.com) 可以通过做这道题来理解 https://leetcode-cn.com/problems/sliding-window-maximu 阅读全文
posted @ 2022-07-23 10:27 balabalahhh 阅读(61) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 67. 把字符串转换成整数 注意一下出界的情况 1 class Solution { 2 public: 3 int strToInt(string str) { 4 int len = str.size(); 5 if(len == 0) return 0; 6 int i = 阅读全文
posted @ 2022-07-22 22:22 balabalahhh 阅读(21) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 29. 顺时针打印矩阵 方形盘龙问题,思路:在数组外面围一堵矩形的墙,碰到墙就掉头 代码: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #define wall -1 4 #define a 0 5 int main() { 6 i 阅读全文
posted @ 2022-07-21 18:02 balabalahhh 阅读(27) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 14- I. 剪绳子 2=1+1,3=1+2, 4 = 2 + 2,5 = 3 + 2,6 = 3 + 3,7 = 3 + 4,8 = 3 + 5 = 3 + 3 + 2,9 = 5 + 4 = 3 + 2 + 4. . . . . . 可以发现,其实从4开始,每个数字都可以由 阅读全文
posted @ 2022-07-20 11:49 balabalahhh 阅读(26) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 39. 数组中出现次数超过一半的数字 1)排序后位于中间的数就是我们要求的数 1 class Solution { 2 public: 3 int majorityElement(vector<int>& nums) { 4 sort(nums.begin(),nums.end 阅读全文
posted @ 2022-07-19 12:37 balabalahhh 阅读(19) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/Sungree/article/details/100834974 注意:因为是数组表示(有值的区域里没有空缺),所以这个二叉树是完全二叉树 大顶堆: C语言代码 1 #include <stdio.h> 2 #include <stdlib.h> 3 # 阅读全文
posted @ 2022-07-19 11:14 balabalahhh 阅读(26) 评论(0) 推荐(0) 编辑
摘要:关于异或:1.任何数和0异或都等于那个数本身(a^0 = a),因为 0^1 = 1, 0^0 = 0 2.任何数和1异或都相当于按位取反,因为 1^1 = 0, 1^0 = 1 3.“还原性”(ps:个人理解): 举个栗子~ :A^B^A= B : A^B = m,m^A = B(m第二次异或同一 阅读全文
posted @ 2022-07-18 12:05 balabalahhh 阅读(37) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 15. 二进制中 1 的个数 与1同位与判断最低位是否是1,判断完右移继续判断下一个 1 class Solution { 2 public: 3 int hammingWeight(uint32_t n) { 4 int cnt = 0; 5 while(n){ 6 if(n 阅读全文
posted @ 2022-07-17 10:30 balabalahhh 阅读(21) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 07. 重建二叉树 i.根据先序遍历(根节点 + 左子树 + 右子树)和 中序遍历(左子树 + 根节点 + 右子树)求出二叉树的思路就不写了(先序、中序、后序说的是根节点的位置顺序) ii.dfs(preroot,inleft,inright): preroot:先序遍历时的根 阅读全文
posted @ 2022-07-16 17:57 balabalahhh 阅读(29) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 64. 求 1 + 2 + … + n 1 class Solution { 2 public: 3 int sumNums(int n) { 4 n > 1 && (n += sumNums(n - 1)); 5 return n; 6 } 7 }; 2.剑指 Offer 6 阅读全文
posted @ 2022-07-15 22:13 balabalahhh 阅读(12) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 55 - I. 二叉树的深度 1)dfs 取左、右子树高度的最大值 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * T 阅读全文
posted @ 2022-07-14 17:30 balabalahhh 阅读(31) 评论(0) 推荐(0) 编辑
摘要:C++的 compare函数 为C语言里 strcmp函数 的平替函数 还有一个 < https://blog.csdn.net/qq_38943651/article/details/108302229 阅读全文
posted @ 2022-07-14 12:36 balabalahhh 阅读(51) 评论(0) 推荐(0) 编辑
摘要:缺省(缺省值好像就是默认值) c++函数的缺省参数 - 知乎 (zhihu.com) “重载是指相同的函数名,但参数的类型或个数中只要有所不同,便进行再定义,编译之后重载的函数都具有不同的地址,也就是说虽然函数名相同,实际上是不同的函数,在调用时,编译系统会根据不同之处自动区别是调用哪一个函数” C 阅读全文
posted @ 2022-07-14 11:43 balabalahhh 阅读(36) 评论(0) 推荐(0) 编辑
摘要:这篇写的挺详细的 https://blog.csdn.net/weixin_43831728/article/details/107788822 “构造函数并不是用来构造对象的,构造函数的功能是用来完成对象的初始化的” 阅读全文
posted @ 2022-07-14 11:40 balabalahhh 阅读(28) 评论(0) 推荐(0) 编辑
摘要:结构体也是一种数据类型 1.先构造后定义 1) 构造结构体,结构体类型名称为stuct Student 1 struct Student{ 2 int num; 3 char name[11]; 4 }; 定义两个struct Student型数据,(严格意义上来说)struct不能省略!!! 有些 阅读全文
posted @ 2022-07-14 11:23 balabalahhh 阅读(228) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 40. 最小的 k 个数 1 class Solution { 2 public: 3 vector<int> getLeastNumbers(vector<int>& arr, int k) { 4 vector<int> res; 5 sort(arr.begin(),ar 阅读全文
posted @ 2022-07-13 17:33 balabalahhh 阅读(19) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 45. 把数组排成最小的数 建议先去看力扣k神的题解,不知道快排原理的可以去百度一下 i.把字符串化后的两个数字拼在一起有两种拼法,通过比较两种拼法的大小来判断两个数字的“大小” 妙!!! ii.通过append函数把字符串连接起来 1 class Solution { 2 p 阅读全文
posted @ 2022-07-12 17:28 balabalahhh 阅读(21) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 34. 二叉树中和为某一值的路径 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 阅读全文
posted @ 2022-07-11 16:21 balabalahhh 阅读(20) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 12. 矩阵中的路径 dfs !!!这道题visited[x][y]不可以用visited[x * m + y]代替 1 class Solution { 2 public: 3 int next[4][2] = {-1,0,0,1,1,0,0,-1}; 4 int visit 阅读全文
posted @ 2022-07-10 22:37 balabalahhh 阅读(14) 评论(0) 推荐(0) 编辑
摘要:string.h中的strrev函数:只对字符数组有效,对string类型无效 algorithm中的reverse函数:反转容器中的内容(可以反转vector里的元素),对字符数组无效 阅读全文
posted @ 2022-07-09 17:04 balabalahhh 阅读(32) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 1 class Solution { 2 public: 3 vector<int> exchange(vector<int>& nums) { 4 int n = nums.size(); 5 int l = 0,r = n - 1; 阅读全文
posted @ 2022-07-09 15:34 balabalahhh 阅读(19) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 25. 合并两个排序的链表 把l2链合并到l1链上 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode( 阅读全文
posted @ 2022-07-09 12:00 balabalahhh 阅读(19) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 18. 删除链表的节点 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x 阅读全文
posted @ 2022-07-07 17:39 balabalahhh 阅读(33) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 46. 把数字翻译成字符串 动态方程: dp[i] = dp[i + 1] + dp[i + 2] 或dp[i] = dp[i + 1] 1 class Solution { 2 public: 3 int translateNum(int num) { 4 if(num >= 阅读全文
posted @ 2022-07-07 17:21 balabalahhh 阅读(19) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 42. 连续子数组的最大和 dp数组:dp[i]是指以i结尾的连续子数组的最大和 res是在dp[0]--dp[i]里找到最大值 1 class Solution { 2 public: 3 int dp[100001]; 4 int maxSubArray(vector<in 阅读全文
posted @ 2022-07-06 22:37 balabalahhh 阅读(20) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 26. 树的子结构 recur函数递归用来判断树B是否是树A的子结构:如果B为空,说明树B已全部遍历完,不管A是否为空,树B都是树A的子结构; 如果 在B不为空的情况下A为空 或者 两者某个对应位置的节点不同 ,那么树B就不是树A的子结构; isSubStructure函数递归 阅读全文
posted @ 2022-07-02 22:26 balabalahhh 阅读(25) 评论(0) 推荐(0) 编辑
摘要:1.剑指 Offer 10- I. 斐波那契数列 1 class Solution { 2 public: 3 int fib(int n) { 4 if(n <= 1) return n; 5 int p = 0,q = 1,t; 6 for(int i = 2;i <= n;i ++){ 7 t 阅读全文
posted @ 2022-07-01 23:11 balabalahhh 阅读(26) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示