笔试强训(八)

一. 求最小公倍数

题目链接:

https://nowcoder.com/practice/22948c2cad484e0291350abad86136c3?tpId=37&tqId=21331&ru=/exam/oj

cpp 复制代码
#include <iostream>
using namespace std;

int gcd(int a, int b)
{
    if(b == 0) return a;
    return gcd(b, a % b);
}

int main()
{
    int a, b;
    cin >> a >> b;
    cout << (a * b / gcd(a, b)) << endl;
    return 0;
}

二.数组中的最长连续子序列

题目链接:

https://www.nowcoder.com/practice/eac1c953170243338f941959146ac4bf?tpId=196&tqId=37143&ru=/exam/oj

cpp 复制代码
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * max increasing subsequence
     * @param arr int整型vector the array
     * @return int整型
     */
    int MLS(vector<int>& arr) {
        // write code here
        sort(arr.begin(), arr.end());
        int n = arr.size(), ret = 0;
        for (int i = 0; i < n;)
        {
            int j = i + 1, count = 1;
            while (j < n)
            {
                if (arr[j] - arr[j - 1] == 1)
                {
                    count++;
                    j++;
                }
                else if (arr[j] - arr[j - 1] == 0)
                {
                    j++;
                }
                else
                {
                    break;
                }
            }
            ret = max(ret, count);
            i = j;
        }

        return ret;
    }
};

三.字母收集

题目链接:

https://www.nowcoder.com/practice/9740ce2df0a04399a5ade1927d34c1e1?tpId=230&tqId=38954&ru=/exam/oj

cpp 复制代码
#include<iostream>

using namespace std;
int dp[505][505];
int main()
{
	int n, m;
	cin >> n >> m;
	char a[n][m];
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < m; j++)
		{
			cin >> a[i][j];
		}
	}
	
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= m; j++)
		{
			dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);
			if (a[i-1][j-1] == 'l')
			{
				dp[i][j] += 4;
			}
			else if (a[i-1][j-1] == 'o')
			{	
				dp[i][j] += 3;
			}
			else if (a[i-1][j-1] == 'v')
			{
				dp[i][j] += 2;
			}
			else if (a[i-1][j-1] == 'e')
			{
				dp[i][j] += 1;
			}
		}
	}
	cout << dp[n][m] << endl;
	return 0;
}
相关推荐
大胆飞猪2 小时前
递归、剪枝、回溯算法---全排列、子集问题(力扣.46,78)
算法·leetcode·剪枝
molunnnn3 小时前
第四章 Agent的几种经典范式
开发语言·python
Kisorge4 小时前
【电机控制】基于STM32F103C8T6的二轮平衡车设计——LQR线性二次线控制器(算法篇)
stm32·嵌入式硬件·算法
洛_尘4 小时前
JAVA EE初阶 2: 多线程-初阶
java·开发语言
@卞5 小时前
C语言常见概念
c语言·开发语言
铭哥的编程日记5 小时前
深入浅出蓝桥杯:算法基础概念与实战应用(二)基础算法(下)
算法·职场和发展·蓝桥杯
Swift社区5 小时前
LeetCode 421 - 数组中两个数的最大异或值
算法·leetcode·职场和发展
cici158745 小时前
基于高光谱成像和偏最小二乘法(PLS)的苹果糖度检测MATLAB实现
算法·matlab·最小二乘法
wjs20245 小时前
Eclipse 关闭项目详解
开发语言