笔试强训day07



在字符串中找出连续最长的数字串

cpp 复制代码
#include <bits/stdc++.h>

using namespace std;
const int N = 500;
char s[N];
bool check(char c) {
    return c >= '0' && c <= '9';
}
int main() {
    scanf("%s", s);
    int l = -1, r = -1;
    int n = strlen(s);
    int left = 0, right = -1;
    while (left < n) {
        if (check(s[left])) {
            int ll = left;
            while (left < n && check(s[left]))++left;
            right = left;
            if (right - ll > r - l) {
                l = ll, r = right;
            }
        }
        ++left;
    }
    for (int i = l; i < r; ++i)cout << s[i];
    return 0;
}


岛屿数量

cpp 复制代码
class Solution {
private:
    int dx[4] = {1,-1,0,0},dy[4] = {0,0,1,-1};
    bool vis[210][210]{};
    int n,m;
    void dfs(int i,int j,vector<vector<char> >&grid)
    {
        vis[i][j] = true;
        for(int k = 0;k<4;++k)
        {
            int x = i+dx[k],y = j+dy[k];
            if(x>=0&&x<n&&y>=0&&y<m&&grid[x][y]=='1'&&vis[x][y]==false)
            {
                dfs(x,y,grid);
            }
        }
    }
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 判断岛屿数量
     * @param grid char字符型vector<vector<>> 
     * @return int整型
     */
    int solve(vector<vector<char> >& grid) {
        // write code here
        int cnt = 0;
        n = grid.size(),m =grid[0].size();
        for(int i = 0;i<n;++i)
        {
            for(int j = 0;j<m;++j)
            {
                if(grid[i][j] == '1' && vis[i][j]==false)
                {
                    dfs(i,j,grid);
                    ++cnt;
                }
            }
        }
        return cnt;
    }
};


拼三角

cpp 复制代码
#include <bits/stdc++.h>

using namespace std;
const int N = 10;
int arr[N];

int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        for(int i = 0;i<6;++i)
            cin>>arr[i];
        sort(arr,arr+6);
        if(arr[0] + arr[1] > arr[2] && arr[3] + arr[4] > arr[5] ||
 arr[0] + arr[2] > arr[3] && arr[1] + arr[4] > arr[5] ||
 arr[0] + arr[3] > arr[4] && arr[1] + arr[2] > arr[5] ||
 arr[0] + arr[4] > arr[5] && arr[1] + arr[2] > arr[3])
            cout << "Yes" << endl;
        else cout<<"No"<<endl;
    }
    return 0;
}

相关推荐
可编程芯片开发7 分钟前
基于MATLAB的PEF湍流风场生成器模拟与仿真
算法
罗西的思考38 分钟前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (9)--- Reward Judging
人工智能·算法·机器学习
2401_841495641 小时前
【数据结构】B+树
数据结构·数据库·c++·b+树·概念·结构·操作原理
Mr.HeBoYan2 小时前
一次持续三天才出现的丢包故障——深入解析 DPDK Memory Ordering、rte_ring 与 CPU Memory Barrier (下)
linux·网络·算法·架构·dpdk
wabs6663 小时前
关于图论【深度优先搜索的理论基础】
算法·深度优先·图论
皓月斯语3 小时前
【C++基础】三目运算符
开发语言·数据结构·c++
先吃饱再说3 小时前
LeetCode 101. 对称二叉树
算法
是Dream呀4 小时前
人眼看不出的伪造,AI如何识别?实测合合信息跨模态鉴伪与去反光技术
算法
QN1幻化引擎4 小时前
SFA 信号场注意力:用8KB参数换248x KV Cache压缩,边缘设备也能跑长序列
人工智能·算法·gitee·gitlab
剑锋所指,所向披靡!4 小时前
数据结构之拓扑排序
数据结构