【随想】每日两题Day.13
题目:344. 反转字符串
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
示例 1:
输入:s = ["h","e","l","l","o"] 输出:["o","l","l","e","h"]
示例 2:
输入:s = ["H","a","n","n","a","h"] 输出:["h","a","n","n","a","H"]
提示:
1 <= s.length <= 105s[i]都是 ASCII 码表中的可打印字符
代码:
class Solution {public void reverseString(char[] s) {int left = 0;int right = s.length - 1;while(left < right) {s[left] ^= s[right];//构造 a ^ b 的结果,并放在 a 中s[right] ^= s[left];//将 a ^ b 这一结果再 ^ b ,存入b中,此时 b = a, a = a ^ bs[left] ^= s[right];//a ^ b 的结果再 ^ a ,存入 a 中,此时 b = a, a = b 完成交换left++;right--;}}
}
思考:
这个题很简单,要学的就是 ^= 操作交换数据,也可以用tmp交换
题目:541. 反转字符串 II
给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。
- 如果剩余字符少于
k个,则将剩余字符全部反转。 - 如果剩余字符小于
2k但大于或等于k个,则反转前k个字符,其余字符保持原样。
示例 1:
输入:s = "abcdefg", k = 2 输出:"bacdfeg"
示例 2:
输入:s = "abcd", k = 2 输出:"bacd"
提示:
1 <= s.length <= 104s仅由小写英文组成1 <= k <= 104
代码:
class Solution {public String reverseStr(String s, int k) {int size = s.length();char[] c = s.toCharArray();int index = 0;while(size >= 2*k) {reverseString(c,index,index + k - 1);index += 2*k;size -= 2*k;}if(size >= k) {reverseString(c,index,index + k - 1);}else {reverseString(c,index,c.length - 1);}return new String(c);}public void reverseString(char[] s,int left,int right) {while(left < right) {s[left] ^= s[right];//构造 a ^ b 的结果,并放在 a 中s[right] ^= s[left];//将 a ^ b 这一结果再 ^ b ,存入b中,此时 b = a, a = a ^ bs[left] ^= s[right];//a ^ b 的结果再 ^ a ,存入 a 中,此时 b = a, a = b 完成交换left++;right--;}}
}
思考:
此题也利用了上一题的字符串翻转,也可以用库函数。值得注意的是最后返回是new String(c);
还有要读懂题
相关文章:
【随想】每日两题Day.13
题目:344. 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1: 输入&…...
CMake Cookbook
使用CMake软件对项目模块,进行构建、测试和打包。 Introduction - 《CMake菜谱(CMake Cookbook中文版)》 - 书栈网 BookStack https://github.com/dev-cafe/cmake-cookbook/tree/v1.0...
钢铁异常分类 few-shot 问题 小陈读paper 钢铁2
很清爽的 abstract 给出链接 前面的背景意义 其实 是通用的 这里替大家 整理一吓吓 1 缺陷分类在钢铁表面缺陷检测中 有 意义。 2 大多数缺陷分类模型都是基于完全监督的学习, 这需要大量带有图像标签的训练数据。 在工业场景中收集有缺陷的图像是非常困难…...
flask实战(问答平台)
问答平台项目结构搭建 先创建一个配置文件config.py,后面有些配置写在这里 #app.py from flask import Flask import configapp Flask(__name__) #绑定配置文件 app.config.from_object(config)app.route(/) def hello_world(): # put applications code herer…...
RK3568驱动模块编译进内核
一、创建文件 首先在drivers/char目录下创建hello文件夹,然后在hello文件夹下创建hello.c 文件、Kconfig和Makefile文件。 hello.c 文件内容如下 #include <linux/module.h> #include <linux/kernel.h> static int __init helloworld_init(void) …...
黑马程序员Java Web--14.综合案例--修改功能实现
一、BrandMapper包 首先,在BrandMapper包中定义用来修改的方法,和使用注解的sql语句。 BrandMapper包所在路径: package com.itheima.mapper; /**** 修改* **/Update("update tb_brand set brand_name #{brandName},company_name #{c…...
开源协议介绍
文章目录 一、简介二、常见开源协议介绍2.1 BSD (Berkeley Software Distribution license)2.2 MIT(Massachusetts Institute of Technology)2.3 Apache Licence 2.02.4 GPL(General Public License)2.5 LG…...
solidworks 2024新功能之-打造更加智能的工作 硕迪科技
SOLIDWORKS 2024 的新增功能 SOLIDWORKS 的每个版本都致力于改进您的工作流程,使您常用的工具尽可能快速高效地运作。此外,SOLIDWORKS 2024 可以通过量身定制的解决方案扩展您的工具集,并使您能够通过 Cloud Services 轻松将您的设计数据连接…...
Datawhale学习笔记AI +新能源:电动汽车充电站充电量预测
赛题介绍 建立站点充电量预测模型,根据充电站的相关信息和历史电量数据,准确预测未来某段时间内充电站的充电量需求。 在赛题数据中,我们提供了电动汽车充电站的场站编号、位置信息、历史电量等基本信息。我们鼓励参赛选手在已有数据的基础上…...
记一次fineBI的增量删除更新BUG
官方文档链接是https://help.fanruan.com/finebi/doc-view-1663.html 按照官方文档,增量删除不能使用select * ,且需要指定分区建 但实际指定分区键有时候也会报错,因为表设置的字段有时候会比数据源少,此时会报错,提…...
rsync+inotify实时同步+双向同步
准备主机 192.168.1.247 (源) /home/appdata 192.168.1.248 (目的) /home/appdata 实现效果: 1.用rsync手动将192.168.1.247 的/home/appdata同步到192.168.1.248的/home/appdata目录。 2.用inotify组件实现文件的…...
7.继承与多态 对象村的优质生活
7.1 民法亲属篇:继承(inheritance) 了解继承 在设计继承时,你会把共同的程序代码放在某个类中,然后告诉其他的类说此类是它们的父类。当某个类继承另一个类的时候,也就是子类继承自父类。以Java的方式说&…...
机器视觉、图像处理和计算机视觉:概念和区别
机器视觉、图像处理和计算机视觉:概念和区别 机器视觉、图像处理和计算机视觉是相关但有区别的概念。 机器视觉主要应用于工业领域,涉及图像感知、图像处理、控制理论和软硬件的结合,旨在实现高效的运动控制或实时操作。 图像处理是指利用…...
从零开始的C语言学习第二十课:数据在内存中的存储
目录 1. 整数在内存中的存储 2. 大小端字节序和字节序判断 2.1 什么是大小端? 2.2 为什么有大小端? 3. 浮点数在内存中的存储 3.1 浮点数存的过程 3.2 浮点数取的过程 1. 整数在内存中的存储 在讲解操作符的时候,我们就讲过了下⾯的内容&#x…...
分布式内存计算Spark环境部署与分布式内存计算Flink环境部署
目录 分布式内存计算Spark环境部署 1. 简介 2. 安装 2.1【node1执行】下载并解压 2.2【node1执行】修改配置文件名称 2.3【node1执行】修改配置文件,spark-env.sh 2.4 【node1执行】修改配置文件,slaves 2.5【node1执行】分发 2.6【node2、no…...
am权限系统对接笔记
文章目录 角色如何对应机构如何对应 am需要提供的接口机构、角色、人员查关系 消息的交互方式方式1 接口查询方式2 mq推送消息到业务系统 am是一套通用权限管理系统。 为什么要接入am呢? 举例,甲方有10个供方,每个供方都有单独的权限系统,不…...
回首往昔,初学编程那会写过的两段愚蠢代码
一、关于判断两个整数是否能整除的GW BASIC创意代码 记得上大学时第一个编程语言是BASIC,当时Visual Basic还没出世,QBASIC虽然已经在1991年随MS-DOS5.0推出了,但我们使用的还是 GW-BASIC, 使用的教材是谭浩强、田淑清编著的《BA…...
《Java面向对象程序设计》学习笔记——Java程序填空题
笔记汇总:《Java面向对象程序设计》学习笔记 这些题其实都非常滴简单,相信大伙能够立刻就秒了吧😎 文章目录 题目答案 题目 以下程序要求从键盘输入一个整数, 判别该整数为几位数, 并且输出结果, 请将下…...
Chrome跨域访问网络请求Cookies丢失的解决办法
为了保障网络安全,Chrome对跨域访问有一定的限制。一般分为三级: cookies带有“SameSite=Strict”时,只允许访问同一个域名下的网络请求;cookies带有“SameSite=Lax”时,允许访问同一个域名下的网络请求和同一个根域名下的网络请求;cookies带有“SameSite=None”时,允许…...
从创业者的角度告诉你AI问答机器人网页的重要性
在数字化时代,创业者面临着越来越多的挑战。而AI问答机器人网页正成为创业者们的必备工具。它可以提供即时客户支持、降低运营成本,并实现全天候服务。接下来,我将从创业者的角度阐述一下,AI问答机器人网页为什么那么重要…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
如何在Windows本机安装Python并确保与Python.NET兼容
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
【Java多线程从青铜到王者】单例设计模式(八)
wait和sleep的区别 我们的wait也是提供了一个还有超时时间的版本,sleep也是可以指定时间的,也就是说时间一到就会解除阻塞,继续执行 wait和sleep都能被提前唤醒(虽然时间还没有到也可以提前唤醒),wait能被notify提前唤醒…...
智能体革命:企业如何构建自主决策的AI代理?
OpenAI智能代理构建实用指南详解 随着大型语言模型(LLM)在推理、多模态理解和工具调用能力上的进步,智能代理(Agents)成为自动化领域的新突破。与传统软件仅帮助用户自动化流程不同,智能代理能够自主执行工…...
实现p2p的webrtc-srs版本
1. 基本知识 1.1 webrtc 一、WebRTC的本质:实时通信的“网络协议栈”类比 将WebRTC类比为Linux网络协议栈极具洞察力,二者在架构设计和功能定位上高度相似: 分层协议栈架构 Linux网络协议栈:从底层物理层到应用层(如…...
用 n8n 提取静态网页内容:从 HTTP Request 到 HTML 节点全解析
n8n 的 HTTP Request HTML 节点组合是个实用又高效的工具。这篇文章就带你一步步搞懂如何用它们提取静态网页内容,重点解析 HTML 节点参数和 CSS 选择器,让你轻松上手 。 一、整体流程概览 我们的目标是从静态网页中提取特定内容,流程分两…...
