2024年4月27日

矩阵转置 O(1)

摘要: 矩阵转置 链接为:https://www.acwing.com/problem/content/3595/ 使用了辅助空间的: #include <iostream> using namespace std; const int N=110; int a[N][N]; int b[N][N]; in 阅读全文

posted @ 2024-04-27 16:43 不是小朋友L 阅读(1) 评论(0) 推荐(0) 编辑

汉诺塔问题

摘要: #include <iostream> void hanoi(int n, char source, char target, char auxiliary) { if (n > 0) { // 将 n-1 个盘子从 source 移动到 auxiliary,使用 target 作为辅助 hanoi 阅读全文

posted @ 2024-04-27 14:50 不是小朋友L 阅读(7) 评论(0) 推荐(0) 编辑

二的幂次方判断——使用位运算-来源于lowbit操作

摘要: 解法:位运算的使用 这里需要就是了解位运算的使用了 lowbit函数 x & -x 这种算法其实是利用了计算机的补码性质。计算机为了表示负数,将对应的正数二进制全部取反再加一。 lowbit是为了获取一个数的二进制中最低位的1对应的值,比如lowbit(10(10)) = 10(2),因为10的二进 阅读全文

posted @ 2024-04-27 14:04 不是小朋友L 阅读(3) 评论(0) 推荐(0) 编辑

快速幂的思想和code实现

摘要: 解法:浮点数快速幂的应用 快速幂的思想就是倍增的思想 5的20次方 如果是一次一次乘需要5*5*5*5*5*5……… 20次乘法 快速幂就是 20(10)=00010100(2) 20=4+16 所以原来的就变成了: (a)(*)(a)a2 (a*a) (*) (a*a) a4 ((a*a)*(a* 阅读全文

posted @ 2024-04-27 13:45 不是小朋友L 阅读(2) 评论(0) 推荐(0) 编辑

存在重复元素

摘要: 解法一:使用老师上课说的排序,然后遍历。使用快速排序时间复杂度是O(nlogn)(这个是快排的时间复杂度)+O(n)(遍历的时间复杂度) O(nlogn) #include <bits/stdc++.h> using namespace std; bool containsDuplicate(vec 阅读全文

posted @ 2024-04-27 13:15 不是小朋友L 阅读(1) 评论(0) 推荐(0) 编辑

字符串置换

摘要: 3.1 LintCode211-字符串置换 bool Permutation(string &A, string &B){ 解法一:单纯使用数组计数,缺点是对如果带有特殊符号的字符串是无法处理的 时间复杂度是O(n) #include <iostream> using namespace std; 阅读全文

posted @ 2024-04-27 12:20 不是小朋友L 阅读(4) 评论(0) 推荐(0) 编辑

导航