笔试——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;

代码

相关推荐
叶小鸡20 分钟前
小鸡玩算法-力扣HOT100-堆
数据结构·算法·leetcode
何陋轩1 小时前
【重磅】悟空来了:国产AI编程助手深度测评,能否吊打Copilot?
人工智能·算法·面试
逸风尊者2 小时前
XGBoost模型工程使用
java·后端·算法
小苗卷不动2 小时前
OJ练习之疯狂的自我检索者(简单)
c++
LUVK_2 小时前
第七章查找
数据结构·c++·考研·算法·408
迷途之人不知返2 小时前
vector
c++
khalil10202 小时前
代码随想录算法训练营Day-31贪心算法 | 56. 合并区间、738. 单调递增的数字、968. 监控二叉树
数据结构·c++·算法·leetcode·贪心算法·二叉树·递归
小苗卷不动2 小时前
进程与线程的核心区别
c++
lihihi2 小时前
P9936 [NFLSPC #6] 等差数列
算法
啊我不会诶2 小时前
2024ICPC西安邀请赛补题
c++·算法