笔试——Day8

文章目录

第一题

题目

求最小公倍数

思路

  • 最小公倍数等于 = 两数之积除以最大公约数

  • 求最大公约数的方法

    • 辗转相除法:
      先将两个数进行模运算,即a%b
      a%b == 0,直接返回 b b是最大公约数
      a%b != 0,则进行辗转相除,a = b和b = a % b
    cpp 复制代码
    int gcd(int a, int b)
    {
    	if(a%b == 0)
    		return b;
    	else 
    		return gcd(b,a%b);
    }
    • 辗转相减法:
      不相等时,大的那个赋值为大 - 小,直到相等为止
    cpp 复制代码
    int fun(int a, int b)
    {
    	while(a != b)
    	{
    		if(a > b)
    			a = a - b;
    		if(b > a)
    			b = b - a;
    	}
    	return a;
    }

代码

第二题

题目:

数组中的最长连续子序列

思路

排序 + 模拟

  • 排序
  • 使用外层循环控制遍历的起始位置 i,对于每个起始位置 i,初始化计数器 count 为 1
  • 内层循环从i+1开始遍历
    • 如果当前元素比前一个元素大 1,表示连续递增
    • 如果当前元素与前一个元素相等,表示重复元素,跳过该元素继续检查下一个
    • 如果当前元素与前一个元素的差大于 1,表示连续递增序列中断,退出

代码

第三题

题目:

字母收集

思路

动态规划:
dp[i][j]表示从起点(1,1) 到达网格中第i 行第j 列位置时的最大得分
dp[i][j]只能从上方和左边来;

所以,转移方程为:dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) + t;

代码

相关推荐
孞㐑¥几秒前
算法—哈希表
开发语言·c++·经验分享·笔记·算法
近津薪荼16 分钟前
递归专题(2)——合并链表
c++·学习·算法·链表
Asher阿舍技术站16 分钟前
【数字通信理论系列】四、载波相位同步
算法·载波同步
-Try hard-20 分钟前
队列 | 二叉树
算法
maplewen.22 分钟前
C++11 std::function
开发语言·c++
Sagittarius_A*23 分钟前
灰度变换与阈值化:从像素映射到图像二值化的核心操作【计算机视觉】
图像处理·人工智能·opencv·算法·计算机视觉·图像阈值·灰度变换
水饺编程31 分钟前
第4章,[标签 Win32] :文本尺寸的度量
c语言·c++·windows·visual studio
Nie_Xun31 分钟前
卡尔曼滤波(EKF/IEKF)与非线性优化(高斯-牛顿法)的统一关系
算法
蒹葭玉树34 分钟前
【C++上岸】C++常见面试题目--操作系统篇(第二十九期)
java·c++·面试
浅念-38 分钟前
C语言——自定义类型:结构体、联合体、枚举
c语言·开发语言·数据结构·c++·笔记·学习·html