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

代码

相关推荐
Hcoco_me6 分钟前
大模型面试题49:从白话到进阶详解SFT 微调的 Loss 计算
人工智能·深度学习·神经网络·算法·机器学习·transformer·word2vec
行稳方能走远6 分钟前
Android C++ 学习笔记2
c++
星火开发设计6 分钟前
链表详解及C++实现
数据结构·c++·学习·链表·指针·知识
修炼地8 分钟前
代码随想录算法训练营第五十三天 | 卡码网97. 小明逛公园(Floyd 算法)、卡码网127. 骑士的攻击(A * 算法)、最短路算法总结、图论总结
c++·算法·图论
小王和八蛋8 分钟前
负载均衡之DNS轮询
后端·算法·程序员
QQ_4376643148 分钟前
Qt-框架
c++·qt
炽烈小老头14 分钟前
【每天学习一点算法 2026/01/07】Fizz Buzz
学习·算法
※※冰馨※※18 分钟前
【QT】初始化显示时正常,操作刷新后布局显示问题。
开发语言·c++·windows·qt
数据大魔方20 分钟前
【期货量化实战】威廉指标(WR)策略:精准捕捉超买超卖信号(Python源码)
开发语言·数据库·python·算法·github·程序员创富
why技术21 分钟前
可怕,看到一个冷血的算法。人心逐利,算法只会更聪明地逐利。
前端·后端·算法