C/C++每日一练20

第一题:今此一役小红所向无敌

题目解析 :假设题目为 "在数组中找到唯一出现奇数次的元素"。由于其他元素出现偶数次,通过异或运算,相同元素异或为 0,0 与目标元素异或结果即为目标值。思路 :利用异或特性:a^a=0,0^a=a。遍历数组,所有元素异或后,偶数次元素抵消,结果就是目标元素。代码

cpp

运行

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

int main() {
    int n;
    cin >> n;
    vector<int> nums(n);
    for (int i = 0; i < n; ++i) {
        cin >> nums[i];
    }
    int result = 0;
    for (int num : nums) {
        result ^= num;
    }
    cout << result << endl;
    return 0;
}

第二题:连续子数组最大的和

题目解析 :使用动态规划思想,current表示以当前元素结尾的最大子数组和,每次更新current = max(nums[i], current + nums[i]),同时用max_sum记录全局最大值。思路 :动态规划,用 current 跟踪以当前元素结尾的最大子数组和。对每个元素,选择 "只取当前元素" 或 "当前元素 + 之前的最大和",更新 current 后,用 max_sum 记录全局最大值。代码

cpp

运行

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

int main() {
    int n;
    cin >> n;
    vector<int> nums(n);
    for (int i = 0; i < n; ++i) {
        cin >> nums[i];
    }
    int max_sum = nums[0], current = nums[0];
    for (int i = 1; i < n; ++i) {
        current = max(nums[i], current + nums[i]);
        max_sum = max(max_sum, current);
    }
    cout << max_sum << endl;
    return 0;
}

第三题:非对称之美

题目解析 :假设题目为 "判断字符串是否为非回文串",即字符串正序与逆序不相同。通过反转字符串后与原字符串比较,不等则为 "非对称"。思路 :若判断字符串非对称,反转字符串后与原串比较,若不同则为非对称。若题目是数组非对称,可比较数组与反转数组是否不同,或判断是否存在 i 使 nums i≠nums n-1-i代码

cpp

运行

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

int main() {
    string s;
    cin >> s;
    string reversed_s = s;
    reverse(reversed_s.begin(), reversed_s.end());
    cout << (s != reversed_s ? "Yes" : "No") << endl;
    return 0;
}

谢谢

相关推荐
可爱系程序猿2 小时前
msvcp140_codecvt_ids.dll 缺失的排查记录:C++ 程序启动异常时如何核对运行库版本
开发语言·c++·程序人生·电脑
weixin_440784112 小时前
【IntentSeivice实现原理】
android·java·开发语言·intentservice
encoconut2 小时前
01_C++ 入门基础
c++
岁岁养乐多2 小时前
Java 序列化相关问题
java·开发语言
CAE二次开发工程师2 小时前
【C语言入门到精通】-基础篇
c语言·开发语言·python
AAIshangyanxiu3 小时前
涡度通量碳观测数据 MATLAB 全流程解析与敏感性定量分析、观测数据质控、插补及 footprint 建模技术
开发语言·matlab·涡度通量·生态碳汇·生态碳汇模拟
小短腿乄3 小时前
java实现pdf加水印+签名
java·开发语言·pdf
郝学胜-神的一滴3 小时前
中级OpenGL教程 030:gl_FragCoord解锁区域渲染与深度可视化新姿势
c++·unity·游戏引擎·图形渲染·unreal engine·opengl
聆风吟º3 小时前
【金仓数据库征文】Java 应用接入金仓数据库:从驱动、连接池到存储过程调试的踩坑实录
java·开发语言·数据库