【C语言编码练习】03:求一个给定括号串的所有子串权值之和

471. 编码最短长度的字符串 这是一个字符串编码的问题,需要通过递归或动态规划的方法来找到最优的编码方式。可以尝试将字符串分割成不同的子串,然后判断哪些子串可以被编码,以及如何编码才能使最终的字符串长度最短。,将其编码成具有最短长度的字符串。 阅读详情


问题描述:

定义一个括号串的权值为,它的最长合法括号子序列的长度。例如,"())())“的权值是4,它的最长合法括号子序列为”()()"现在求一个给定括号串的所有子串权值之和。


输入描述:

一个仅包含(1和’)'的字符串,长度不超过200000。


输出描述:

输出T行每行1个字符串表示小美能否获胜,如果小美先写完编号为k的题则输出"Win”,如果朋友先写完编号为k的题则输出“Lose”,如果两人同时写完则输出“Tie”.


举例:

())())
4

代码结果:

#include<stdio.h>
#include<stdlib.h>

int main()
{
    char a[200000];//存储输入字符
    char *p=a;
    int before_count=0;//等待匹配状态中的"("数量
    int count=0;//完整括号组数
    int end_value=0;//有效括号数
    gets(a);
    while(*p!=0)//括号未结束
    {
        if(*p=='(')//当前是"("
            before_count++;//增加处在等待匹配状态中的"("数量
        else//当前是")"
        {
            if(before_count>0)//有"("处在等待匹配状态中
            {
                count++;//完整括号组数增加
                before_count--;//消耗一个"(""
            }
            else{};//无前括号等待匹配,忽略
        };
    p++;//遍历下一个括号
    }
    end_value=2*count;
    printf("%d\n",end_value);
    system("pause");
}

在这里插入图片描述

C++字符串查找:从find()到性能优化与多编码处理 字符串查找是编程中的基础操作,其核心原理是在主串中定位子串的首次出现。在C++中,这一操作不仅关乎功能实现,更直接影响程序的性能与健壮性。标准库的std::string::find()提供了安全便捷的接口,但其底层通常是朴素的暴力匹配算法,在处理超长文本时可能成为性能瓶颈。对于性能关键场景,C++17引入了std::boyer_moore_searcher等更高效的搜索器。此外,处理多字节编码(如UTF-8下的中文字符串)时,开发者需明确字节匹配与字符匹配的区别,避免因编码不一致导致的查找失败或乱码问题。在 阅读详情

相关推荐

2026华为OD机试(C语言)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,C语言实现。

MISAYAONE的博客 11万+

【Leetcode刷题Python】括号匹配问题

2022年9月秋招算法工程师笔试题 括号匹配问题 定义一个括号串的权值为,它的最长合法括号子序列的长度,例如()())的权值是4,因为它的最长合法括号子序列为()(),求一个给定括号串的所有子串权值之和。

BetterBench的博客 680

从零开始:如何在Windows上搭建Airsim仿真环境(避坑指南)

本文是一份详细的Windows平台AirSim仿真环境搭建指南。文章从硬件要求、Visual Studio与虚幻引擎安装开始,逐步讲解AirSim插件编译、UE项目配置,并重点介绍了通过WSL2连接PX4飞控软件实现软件在环仿真的完整流程。内容涵盖常见问题排查与性能优化,旨在帮助开发者避开常见陷阱,高效构建可用于无人机算法开发的虚拟测试平台。

earth的博客 302

Codeforces 1428 F. Fruit Sequences —— 线段树求所有区间最长子串和

This way 题意: 给你一个01串,设f(l,r)表示区间l到r中最长的全1子串的长度。问你 题解: 首先遇到这种题目就知道是应该枚举一个端点然后快速地进行计算。 然后发现,如果从左往右删数的话,假设当前连续的1的最长长度是x,那么直到下一次出现长度是x的位置为止,所有的位置值-1. 就像这个图,蓝色的部分都要-1. 于是我们用线段树查找连续的1的长度的位置。 sum表示当前开头的答案。 #include<bits/stdc++.h> using namespace std; #d

天翼之城的博客 292

基于灰度信息的图像配准方法

图像配准方法分为三种:基于灰度信息方法、基于变换域方法和基于特征方法。基于灰度信息方法是直接根据图像或图像块灰度信息进行像素上的对齐,该方法主要思想是直接最小化图像信息差异。然而,图像信息差异的判断准则衍生出不同的配准方法。常见的基于灰度信息的图像配准方法包括互相关法、互信息法和误差平方和法。本节将分别对互相关法、互信息法和误差平方和算法展开介绍,并通过MATLAB进行演示。基于灰度的图像方法容易实现,但同样存在不足。该方法对成像条件(光照,遮挡)、图像形变旋转以及噪声极其敏感,同时具有较高的计算复杂度。

weixin_42068054的博客 3777

基于Python的信用卡欺诈检测机器学习案例报告

当今时代,在线支付已成为一种高效便捷的支付方式,我们可以突破时间和空间的限制,输入我们的信用卡各项信息就可以完成在线支付。但随之而来的是这种支付方式也具备一定的风险性,我们无法辨别对方是否是恶意套取我们资金的非法分子。当信用卡信息数据泄露导致金钱失窃并最终失去客户忠诚度和公司声誉时,组织、消费者、银行和商家都会面临风险。2017 年,未经授权的信用卡操作达到了惊人的 1670 万受害者。此外,据美国联邦贸易委员会 (FTC) 报告,2017 年信用卡欺诈索赔数量比上一年高出 40%。

weixin_45673389的博客 6695

腾讯音乐笔试 9.26

腾讯音乐笔试9.26

XGF的碎碎念 1651

图像识别火灾检测系统实战:从火焰特征到YOLO部署全解析

计算机视觉技术正深入改变传统消防的感知方式。图像识别火灾检测利用摄像头采集的视频流,通过颜色、动态和形态特征分析,实现早期火情的自动发现与定位。其核心原理在于,火焰在视觉上具有独特的颜色分布、闪烁特性和轮廓变化,借助目标检测模型如YOLO,可在复杂场景中区分真实火焰与干扰物。这项技术广泛应用于仓库、园区、隧道等大空间场所,是智慧消防的重要支撑。本文从火焰视觉特征、数据集构建、模型选型与系统架构设计出发,结合部署实践中的误报与算力优化经验,为开发者提供一套可落地的视频火焰检测方案。

weixin_42533751的博客 245

LeetCode高频题:子串权值定义为,最长有效括号子序列的长度,请你返回字符串s的所有子串权值的和是多少

1)括号匹配问题,我多次讲过,这是最新的最长有效括号子序列长度,简单,那个最长有效括号子串很难 3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

weixin_46838716的博客 1785

泄露测试仪CTS的Sentinel I28使用

本文介绍:泄露测试仪CTS的Sentinel I28使用

qq_34047402的博客 2205

基于matlab的主成分分析的人脸二维码识别系统

人脸识别因其在系统安全验证、信用验证、刑侦跟踪、身份管理、视频会议、人机交互、智能家居等方面的巨大应用前景,成为当前模式识别和人工智能领域越来越热门的一个研究方向。随着安全入口控制和二维码智能扫描应用需求的快速增长,基于二维码识别的生物人脸统计识别技术也引起了人们的重视。本案例将详细讲解基于主成分分析的人脸特征提取的原理与方法,并将其与 QR 二维码的编解码进行结合,将 MATLAB 作为工具平台,调用 QR 二维码编解码应用程序,进而实现一个人脸二维码自动识别的系统原型。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 978

跳不动2023秋招笔试第一题 子串之和(C++ 回溯)

DFS 回溯

大土的博客 462

【同等学力】01-逻辑符号表达

F(x): x是确诊者,G(x):x有症状F(x): x是老人,G(x):x是宠物,L(x,y): x喜欢y。

super_mochi1 1880

[数据结构与算法]最长有效括号32

给定一个只包含'('和')'的字符串,找出最长的包含有效括号的子串的长度。 输入: ")()())" 输出: 4 解释: 最长有效括号子串为 "()()"方法 ( ) )( ( ) ) ) -1 0 1 2 3 4 5 6 7使用一个栈,栈顶放-1,当作起始位置代码: public int longestValidParentheses(String ...

weixin_30478923的博客 231

基于STM32、HAL库的MPX5500DP气压传感器 驱动程序设计

define MPX5500DP_MIN_VOLTAGE 0.2f // 最小输出电压(V)#define MPX5500DP_MAX_VOLTAGE 4.7f // 最大输出电压(V)#define MPX5500DP_MIN_PRESSURE 0.0f // 最小压力(kPa)#define MPX5500DP_MAX_PRESSURE 500.0f // 最大压力(kPa)* @brief 读取压力值(kPa)// 计算压力值 (线性转换)

corlin6688的博客 196

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

1190. 反转每对括号间的子串

2021-05-26 LeetCode每日一题 链接:https://leetcode-cn.com/problems/reverse-substrings-between-each-pair-of-parentheses/ 标签:字符串、堆栈 题目 给出一个字符串 s(仅含有小写英文字母和括号)。 请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。 注意,您的结果中 不应 包含任何括号。 输入:s = "(abcd)" 输出:"dcba" 输入:s = "(u(l

秃头哥编程 536

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

32. 最长有效括号【leetcode】

原题地址:https://leetcode-cn.com/problems/longest-valid-parentheses/ 给定一个只包含'('和')'的字符串,找出最长的包含有效括号的子串的长度。 示例1: 输入: "(()" 输出: 2 解释: 最长有效括号子串为 "()" 示例 2: 输入: ")()())" 输出: 4 解释: 最长有效括号子串为 "()()" ...

gogslow的博客 189

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

FOJ 1411 最长配对子串

还是使用栈,如果存在不匹配的括号,那么这些括号最后都会剩余在栈中。只要在压入栈的同时,带入这个符号在字符串的位置。这样我们最后就可以根据栈中剩余的符号,来分割原来的字符串,并且也很容易取到最长的匹配。 本程序一次性AC,真的是没有想到。。。写代码前理清思路,规范代码真的很重要。。很搓的代码一般是不容易通过的。。要是通过了,说明你人品不错。连续通过3题。你就可以考虑去买彩

xiaoc's home 1519

C语言基础

C语言为什么是高效的?   C语言是底层机器上的高级抽象,以至于让大部分低级语言没有意义。既可以用来编写高级算法,也可以用来处理底层硬件逻辑。   C语言是一种弱类型语言,所有调用函数的参数类型和返回值类型必须被明确定义;这样做的缺点就是调用者的自由度有限,缺点的同时也是优点,可以让人少犯错误,c语言尽力构建一个简洁的、通俗的类型系统,不需要考虑太多依赖关系,使开发变得简单。   C语言不隐...

weixin_33755554的博客 134

卡尔曼滤波从原理到工程实践:公式、调参与避坑指南

在工程实践中,噪声和不确定性无处不在,传感器数据难以直接信任,如何从观测中提取真实状态成为关键问题。卡尔曼滤波作为一种经典的最优状态估计算法,通过预测与更新两个步骤,动态权衡模型预测与观测数据,实现了对系统状态的精准估计。其核心在于用协方差矩阵量化不确定性,并利用卡尔曼增益实现最优融合,因此在传感器融合、惯性导航、目标跟踪等场景中广泛应用。本文从一维温度估计到多维车辆跟踪,逐步推导五个核心公式,并结合代码实现与调参经验,同时介绍了扩展卡尔曼滤波和无迹卡尔曼滤波在非线性系统中的运用,最后总结了工程落地的常见坑

weixin_34265814的博客 366

算法最长有效括号

给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的有效括号子串长度。例如,")(()))("中最长有效括号子串是")()",长度为 2。本文通过探讨最长有效括号问题,展示了C++算法设计的魅力及其在实践中的应用价值。动态规划不仅解决了该问题,还启示我们在处理类似序列问题时的思考方向。随着算法理论的深入和计算技术的进步,探索更高效、更通用的解决方案,将是算法研究者不懈的追求。在未来的软件开发和数据分析领域,这些算法将继续发挥重要作用,推动技术向前发展。

master_chenchen的博客 604

[leetcode1190]反转每对字符串中的子串

[leetcode1190]反转每对字符串中的子串 给出一个字符串 s(仅含有小写英文字母和括号)。 请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。 注意,您的结果中不应包含任何括号。 解释:遇到括号就将括号中的字符串反转一次 class Solution { public String reverseParentheses(String s) { ...

weixin_45758512的博客 540

3. 没有重复字母的最长子串 [leetcode 3: Longest Substring Without Repeating Characters]

3. 没有重复字母的最长子串 [leetcode 3: Longest Substring Without Repeating Characters] 原题链接 https://leetcode.com/problems/longest-substring-without-repeating-characters 老王的解法链接 https://github.com/simplemain/leet...

简单的老王 340

2025CSP-J 冲刺训练(7):表达式递归

因此,海龟只在一条直线上来回爬行。输入一行 logo 的命令行,输出海龟在屏幕中离开原来位置的距离(假设屏幕很大,可以让海龟移动最多。教授告诉大家 Super Samuel 星球上 Kitty 猫的基因的长度都是。Logo 语言命令可以指挥海龟在屏幕中爬行。本问题只使用 logo 语言的三个语句:前进。的正整数次幂, 全是由两种不同的基因单元组成的。该编码规则是不断地按照以下规则对 Kitty 猫基因。串表达式 进行改写, 直至最终被改写成只含有字符。,于是 Kitty 猫基因可以写成一个。

joe_g12345的博客 1201

数据结构中串的存储与KMP模式匹配算法详解

字符串是计算机科学中最基础的数据表示形式之一,广泛应用于文本处理、数据解析和网络通信等领域。其本质是一种特殊的线性表,核心在于理解其整体性操作和高效的存储管理。字符串的存储结构从定长数组到动态堆分配,再到块链式存储,各有其适用场景,而现代编程语言的标准库实现通常已做了高度优化。字符串操作的核心挑战之一是模式匹配,即在主串中定位子串,这是搜索引擎、编译器和文本编辑器等应用的关键。朴素匹配算法简单但效率较低,而KMP算法通过预处理模式串生成next数组,利用已匹配信息避免主串指针回溯,将匹配时间复杂度优化至O(

weixin_33904756的博客 804
上一篇: 【C语言编码练习】01要点:数组输入、除法类型转换
下一篇: 【C语言编码练习】04:有效括号序列(相关知识点:栈的线性结构(数据结构),堆区(内存空间))
不僈
博客等级 码龄8年 2万+粉丝 81原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不僈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值