【每日刷题】Day34

【每日刷题】Day34

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

1. 1047. 删除字符串中的所有相邻重复项 - 力扣(LeetCode)

2. 1475. 商品折扣后的最终价格 - 力扣(LeetCode)

3. 1544. 整理字符串 - 力扣(LeetCode)

1. 1047. 删除字符串中的所有相邻重复项 - 力扣(LeetCode)

//思路:栈。将字符串中字符与栈顶元素比较是否相同,相同则推出栈顶元素,否则将字符入栈,如果栈中元素为0,直接入栈。

char* removeDuplicates(char* s)

{

    int size = strlen(s);

    char* arr = (char*)malloc(sizeof(char)*(size+1));

    int count = 0;

    for(int i = 0;i<size;i++)

    {

        if(count==0)//如果栈中元素为0,直接入栈

        {

            arr[count++] = s[i];

        }

        else if(s[i]!=arr[count-1])//不相同,将字符入栈

        {

            arr[count++] = s[i];

        }

        else if(count>0)//相同则推出栈顶元素

        {

            count--;

        }

    }

    arr[count] = '\0';

    return arr;

}

2. 1475. 商品折扣后的最终价格 - 力扣(LeetCode)

//思路:双指针。定义两个指针,slow用于定位当前商品价格,fast用于定位当前商品的折扣,如果折扣≤商品价格,则直接将商品价格减去折扣。

int* finalPrices(int* prices, int pricesSize, int* returnSize)

{

    int slow = 0;

    int fast = 1;

    while(slow<pricesSize-1)

    {

        if(prices[fast]<=prices[slow])//折扣≤商品价格

        {

            prices[slow]-=prices[fast];

            slow++;

            fast = slow+1;

        }

        else//否则继续向下遍历折扣

        {

            fast++;

        }

        if(fast==pricesSize)//如果走到了数组末尾,说明当前商品无折扣

        {

            slow++;

            fast = slow+1;

        }

    }

    *returnSize = pricesSize;

    return prices;

}

3. 1544. 整理字符串 - 力扣(LeetCode)

//0ms  100%思路:栈。遍历字符串,如果当前字符与栈顶字符是大小写关系,则推出栈顶;如果不是大小写关系并且栈内元素个数为0,则将当前字符入栈。

char* makeGood(char* s)

{

    int size = strlen(s);

    char* ans = (char*)malloc(sizeof(char)*(size+1));

    memset(ans,0,sizeof(char)*(size+1));

    int count = 0;

    for(int i = 0;i<size;i++)

    {

        if(count==0)//栈中没有元素,将当前字符入栈

        {

            ans[count++] = s[i];

        }

        else if(ans[count-1]==(s[i]+32)||ans[count-1]==(s[i]-32))//当前字符与栈顶元素为大小写关系,推出栈顶

        {

            count--;

        }

        else//否则,入栈

        {

            ans[count++] = s[i];

        }

    }

    ans[count] = '\0';

    return ans;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/8290.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Rust开发工具有哪些?

目录 一、JetBrains公司的RustRover​编辑 二、微软公司的Visual Studio Code 三、Rust编译工具 一、JetBrains公司的RustRover RustRover是由JetBrains开发的一款专为Rust开发量身定制的新兴IDE&#xff0c;目前还处于早期访问阶段。它支持Rust、Cargo、TOML、Web和数据库等…

Unity如何使用adb工具安装APK

1、下载adb工具 SDK 平台工具版本说明 | Android Studio | Android Developers (google.cn) 2、配置环境变量 把platform-tools的路径添加进去就行 打开cmd&#xff0c;输入adb&#xff0c;即可查看版本信息 3、使用数据线连接设备&#xff0c;查看设备信息&#xff08;…

黄金投资怎么判断走势好坏?

投资黄金&#xff0c;就是押注于这一贵金属价格的变动。判断黄金价格的走势好坏&#xff0c;对于投资者来说至关重要。这需要从宏观经济指标、技术分析指标和市场情绪等多元化角度进行综合分析。 宏观经济指标 货币政策&#xff1a;中央银行的货币政策&#xff0c;尤其是利率决…

分布式事务Seata使用

我们要学习seata&#xff0c;首先需要具备如下技术储备&#xff1a; 数据库事务的基本知识&#xff1b;maven工具的使用&#xff1b;熟悉SpringCloudAlibaba技术栈&#xff1b;掌握SpringDataJPA简单使用&#xff1b; 一. Seata基本概念 1.seata是什么 Seata是阿里巴巴中间…

基于大模型(LLM)相互协商的情感分析

Sentiment Analysis through LLM Negotiations https://arxiv.org/abs/2311.01876https://arxiv.org/abs/2311.01876 1.概述 在情感分析任务中,传统的单一大型语言模型(LLM)通常只通过单轮输出来做出决策。这种方法的主要缺点是无法完美应对需要深入推理的复杂语言现象,…

Vue.js【路由】

初识路由 提到路由&#xff08;Route&#xff09;&#xff0c;一般我们会联想到网络中常见的路由器&#xff08;Router&#xff09;&#xff0c;那么路由和路由器之间有什么关联呢&#xff1f;路由是指路由器从一个接口接收到数据&#xff0c;根据数据的目的地址将数据定向传送…

【how2j JQuery部分】课后题答案及相关笔记

练习题 <script src"jquery.min.js"></script><script>$(function(){$(tr:odd).css({"background-color":"#f8f8f8"});}); </script> <style> table{border-collapse:collapse;width:90%;} tr{border-bottom-sty…

力扣每日一题108:将有序数组转换为二叉搜索树

题目 简单 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡 二叉搜索树。 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#xff1a;[0,-10,5,null,-3,null,9] 也…

VS编辑器下使用MFC完成学生成绩统计分析系统

背景&#xff1a; &#xff08;一&#xff09;实验目的 通过该实验&#xff0c;使学生掌握windows程序设计的基本方法。掌握学生管理中学生成绩统计分析方面的基本知识&#xff0c;熟练应用数据库技术完成对学生成绩管理活动中各类信息的增加、修改、删除、查询等操作。通过处…

解锁AI的神秘力量:LangChain4j带你步入智能化实践之门

关注微信公众号 “程序员小胖” 每日技术干货&#xff0c;第一时间送达&#xff01; 引言 在数字化转型的浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;正逐渐成为推动企业创新和增长的关键力量。然而&#xff0c;将AI技术融入到日常业务流程并非易事&#xff0c;它…

tr,cut,sort,uniq,seq命令的使用

1.tr tr命令是一个文本处理工具&#xff0c;跟正则表达式&#xff0c;字符串。有替换&#xff0c;压缩&#xff0c;删除的功能。 -s压缩 -d删除 命令1&#xff1a;tr a b。将出现的a替换成b。 输入---aaa---bdd--- 输出---bbb---bdd--- 命令&#xff1a;tr -d [字符1字符…

Xshell7、XFtp无法安装报错问题

报错信息&#xff1a; xshell产品无法安装,请验证来源是否存在,是否可以访问 解决方案&#xff1a; 打开本地路径&#xff1a;C:\Program Files (x86)\InstallShield Installation Information 将次文件删掉&#xff0c;重新点击xshell安装程序&#xff0c;重新安装即可

H5视频付费点播打赏影视系统程序全开源运营版

这是一款视频打赏源码&#xff0c;勿做非法用途&#xff0c;由用户亲测功能完善&#xff0c;源码仅用于学习使用&#xff0c;分享链接是用户云盘&#xff0c;具有时效性&#xff0c;感兴趣的可以去学习。 thinkphp开发&#xff0c;前后端分离设计&#xff0c;支持游客登陆、VIP…

【竞技宝】欧冠:多特淘汰大巴黎进决赛,姆巴佩迷失

多特蒙德在本赛季欧冠半决赛第二回合较量中,跟大巴黎队狭路相逢。赛前,大部分球迷和媒体都看好坐拥姆巴佩的大巴黎队,可以靠着主场作战的优势,逆转多特蒙德晋级欧冠决赛。大巴黎队主场作战确实创造出不少得分机会,只可惜球队运气有些差,射门都打在了多特蒙德横梁上。反观多特蒙…

浅谈消息队列和云存储

1970年代末&#xff0c;消息系统用于管理多主机的打印作业&#xff0c;这种削峰解耦的能力逐渐被标准化为“点对点模型”和稍复杂的“发布订阅模型”&#xff0c;实现了数据处理的分布式协同。随着时代的发展&#xff0c;Kafka&#xff0c;Amazon SQS&#xff0c;RocketMQ&…

国内免费AI聊天机器人(ChatGPT)推荐(下)含ChatGPT4.0版本

作者主页&#xff1a;点击&#xff01; 国内免费AI推荐专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年5月7日10点39分 现在&#xff0c;国内各种免费AI聊天机器人(ChatGPT)层出不穷&#xff0c;功能强大、玩法多样&#xff0c;可以满足你的不同需求。 今天&a…

H7-TOOL的双硬件串口同时运行Modbus主机和从机方法,方便大家Modbus测试验证(2024-05-06)

H7-TOOL的双硬件串口同时运行Modbus主机和从机方法&#xff0c;方便大家Modbus测试验证&#xff08;2024-05-06&#xff09; 使用这种方法&#xff0c;仅使用一个TOOL就可以方便同时运行Modbus主机和从机。 【Modbus专题视频】 可以用来熟悉Modbus协议 BSP视频教程第23期…

VS编辑器下使用MFC完成研究生管理系统设计

背景&#xff1a; &#xff08;一&#xff09;实验目的 通过该实验&#xff0c;使学生掌握windows程序设计的基本方法。掌握学籍管理的基本内容&#xff0c;熟练应用数据库技术和通用组件&#xff0c;实现研究生信息的增、删、改、查功能。通过处理过程对计算机软件系统工作原…

2024最新 Gradle 入门教程

&#x1f680; 2024最新 Gradle 入门教程 &#x1f31f; 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍…

在Mars3d实现cesium的ImageryLayer自定义瓦片的层级与原点

需要自定义瓦片层级和原点&#xff0c;所以需要自己写第三方图层&#xff0c;但是之前写的很多方法&#xff0c;图层控制和显隐以及透明度&#xff0c;需要跟之前的交互一直&#xff0c;改动量太大的话不划算&#xff0c;所以直接看Mars3d的layer基类&#xff0c;把重写的image…