2025年1月21日刷题记录

ops/2025/1/22 11:50:28/

1.leetcode1768题目

链接:1768. 交替合并字符串 - 力扣(LeetCode)

代码:

class Solution {
public:string mergeAlternately(string word1, string word2) {string word3;int a = word1.size(), b = word2.size();int i = 0, j = 0;while(i<a || j<b){if(i<a){word3+=word1[i];i++;}if(j<b){word3+=word2[j];j++;}}return word3;}
};

经验:

  • 原代码中直接使用 word3[k] = word1[i]word3[k] = word2[j],这种方式在 word3 未初始化大小时会导致未定义行为。应该使用word3+=word1[i].

2.力扣1071题

链接:1071. 字符串的最大公因子 - 力扣(LeetCode)

class Solution {
public:string gcdOfStrings(string str1, string str2) {int a=str1.size(),b=str2.size();int gcd_len=gcd(a,b);string gcd_string=str1.substr(0,gcd_len);if(check(str1,gcd_string) && check(str2,gcd_string)){return gcd_string;}else{return "";}}
private:bool check(string &a,string &b){int len_a=a.size(),len_b=b.size();int time=len_a/len_b;string repeated_str=b;for(int i=1;i<time;i++){repeated_str+=b;}return repeated_str==a;}
};

学习到:

  • string可以直接通过+=进行拼接。
  • gcd函数的使用
  • substr函数:str.substr(start,length)

3.力扣1431题目

1431. 拥有最多糖果的孩子 - 力扣(LeetCode)

class Solution {
public:vector<bool> kidsWithCandies(vector<int>& candies, int extraCandies) {int max = *max_element(candies.begin(),candies.end());vector<bool> index;for(int i=0;i<candies.size();i++){if(candies[i]+extraCandies>=max){index.push_back(true);}else{index.push_back(false);}}return index;}
};

 学习:

  • 新建vector:直接vector <type> name;
  • push_back()在vector的末尾添加元素
  • 求解最大值:int max = *max_element(candies.begin(),candies.end());(加*是解迭代器)

4.力扣345题

class Solution {
public:string reverseVowels(string s) {int i = 0, j = s.size() - 1;  // 双指针unordered_set<char> vowels = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'};while (i < j) {// 移动左指针,直到找到元音while (i < j && vowels.find(s[i]) == vowels.end()) {i++;}// 移动右指针,直到找到元音while (i < j && vowels.find(s[j]) == vowels.end()) {j--;}// 交换两个元音字符if (i < j) {swap(s[i], s[j]);i++;j--;}}return s;}
};


http://www.ppmy.cn/ops/152182.html

相关文章

Visual Studio2019调试DLL

1、编写好DLL代码之后&#xff0c;对DLL项目的属性进行设置&#xff0c;选择待注入的DLL&#xff0c;如下图所示 2、生成DLL文件 3、将DLL设置为启动项目之后&#xff0c;按F5启动调试。弹出选择注入的exe的界面之后&#xff0c;使用代码注入器注入步骤2中生成的dll&#xff…

从零搭建一套远程手机的桌面操控和文件传输的小工具

从零搭建一套远程手机的桌面操控和文件传输的小工具 --ADB连接专题 一、前言 前面的篇章中&#xff0c;我们确定了通过基于TCP连接的ADB控制远程手机的操作思路。本篇中我们将进行实际的ADB桥接的具体链路搭建工作&#xff0c;从原理和实际部署和操作层面上&#xff0c;从零…

算法-键盘行

力扣题目&#xff1a;500. 键盘行 - 力扣&#xff08;LeetCode&#xff09; 给你一个字符串数组 words &#xff0c;只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。 请注意&#xff0c;字符串 不区分大小写&#xff0c;相同字母的大小写形式都被视…

【Unity】使用Canvas Group改变UI的透明度

目录 一、前言二、Canvas Group三、结合DOTween达到画面淡进的效果 一、前言 在平时开发中&#xff0c;可以通过控制材质、Color改变UI透明度&#xff0c;除此之外还可以CanvasGroup组件来控制透明度。 二、Canvas Group 官方文档链接&#x1f449;&#x1f449; 点击进入 …

AI赋能零售:ScriptEcho如何提升效率,优化用户体验

零售业正经历着前所未有的变革。库存管理难题、日益增长的个性化服务需求以及瞬息万变的市场环境&#xff0c;都给零售商带来了巨大的挑战。然而&#xff0c;人工智能技术的快速发展为零售业带来了新的机遇&#xff0c;为解决这些挑战提供了强有力的工具。其中&#xff0c;AI写…

springboot基于微信小程序的智慧乡村政务服务系统

Spring Boot 基于微信小程序的智慧乡村政务服务系统 一、系统概述 Spring Boot 基于微信小程序的智慧乡村政务服务系统是一个利用 Spring Boot 框架的后端优势与微信小程序便捷的前端体验相结合&#xff0c;专门为乡村政务管理和服务提供一体化解决方案的信息化系统。该系统旨…

WPF基础 | WPF 基础概念全解析:布局、控件与事件

WPF基础 | WPF 基础概念全解析&#xff1a;布局、控件与事件 一、前言二、WPF 布局系统2.1 布局的重要性与基本原理2.2 常见布局面板2.3 布局的测量与排列过程 三、WPF 控件3.1 控件概述与分类3.2 常见控件的属性、方法与事件3.3 自定义控件 四、WPF 事件4.1 路由事件概述4.2 事…

Windows 服务器访问慢解决办法

1) winnt_accept: Asynchronous AcceptEx failed 错误解决 网上邻居->本地连接->属性->internet协议(TCP/IP)->属性->高级->wins标签->去掉启用LMhosts查询前的勾 2)在httpd.conf文件中添加 Win32DisableAcceptEx 标记&#xff0c;如下&#xff1a; <I…