mtgo666
mtgo666
全部文章
分类
Linux学习笔记(10)
STL(7)
基础算法(9)
学习笔记(10)
题解(26)
归档
标签
去牛客网
登录
/
注册
mtgo666的博客
TA的专栏
19篇文章
0人订阅
数据结构和算法
19篇文章
2921人学习
全部文章
(共5篇)
不适用额外空间交换两个数
1、简介 平时交换两个数的代码很简单,只需要借助temp辅助变量,比如: int a = 5; int b = 6; int temp = a; a = b; b = temp; 即可完成交换。但是假如在面试中让你不使用额外空间交换两个数呢? 2、方法 2.1 方法一:数学 int a = 5; ...
C++
数学
2022-08-29
0
557
快速幂算法
来自专栏
1、入门小谈 假如让你求3的6次方后三位,这个程序毫无疑问是非常简单的: //求幂运算 long long test(int base,long long po) { int result = 1; for(int i=0;i<po;++i) result*=base; return r...
C++
数学
#快速幂
2022-03-20
1
631
题解 | #剪绳子(进阶版)#
思路 这道题和剪绳子题是一模一样的,区别只在于该题数据范围很大。如果使用和剪绳子一样的做法,那么运行会超时。 剪绳子代码 class Solution { public: int cutRope(int number) { if(number==2||number==3) r...
C++
数学
#快速幂
2022-03-20
2
410
题解 | #二进制中1的个数#
基础知识 负数在计算机中是用补码来存储的,由于正数的补码就是原码,姑可以推广到所有的数在计算机中都是用补码来存储的。 原码:就是数的二进制形式。负数的原码最高位是1,代表符号位。 反码:正数的反码还是其本身,负数的反码是在原码的基础上,符号位不变,其余位按位取反。 补码:正数的补码还是其本身,负数...
C++
C
数学
2022-02-21
14
822
题解 | #不用加减乘除做加法#
来自专栏
题解一:自增主体思路:循环其中一个值,每次自减1,让另外一个值自增复杂度分析:时间复杂度:O(n),循环了n次;空间复杂度:O(1)。实现如下: class Solution { public: int Add(int num1, int num2) { //通过循环来保证两...
数学
C++
2021-06-19
29
1407