力扣刷题(2)

寻找两个正序数组的中位数

寻找两个正序数组的中位数-力扣
在这里插入图片描述
思路:

  1. 合并两个正序数组
  2. 找中位数
double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size) {int arr[nums1Size + nums2Size];int n1 = 0, n2 = 0;int m = 0;int q;//合并两个正序数组while (n1 < nums1Size || n2 < nums2Size) {if (n1 == nums1Size) {q = nums2[n2++];} else if (n2 == nums2Size) {q = nums1[n1++];} else if (nums1[n1] < nums2[n2]) {q = nums1[n1++];} else {q = nums2[n2++];}arr[n1 + n2 - 1] = q;}//寻找中位数m = nums1Size + nums2Size;if(m == 1) return arr[m-1];else{if(m%2 == 0){return (arr[m/2] + arr[m/2-1])/2.0;}else {return arr[m/2];}}
}

在这里插入图片描述

最长回文字符串

最长回文字符串-力扣

在这里插入图片描述
思路来源:Penn

  1. 遍历字符串
  2. 对于每个字母,向两侧扩散,判断是否回文子串
  3. 若为回文子串,保存最长的子串信息
  4. 子串长度为奇数或偶数,需分别判断
void Find(char* str,int n,int left,int right,int* start,int* len)
{while(left >=0 && right < n && str[left] == str[right]){left--;right++;}if(right - left -1 > *len){*start=left+1;*len=right-left-1;}
}char* longestPalindrome(char* s) {int n=strlen(s);//字符串长度int start=0;//开始位置int len=0;//子串长度for(int i=0;i<n;i++)//奇数长度回文子串{Find(s,n,i-1,i+1,&start,&len);}for(int i=0;i<n;i++)//偶数长度回文子串{Find(s,n,i,i+1,&start,&len);}s[start+len]='\0';//原地修改返回值return s+start;
}

Z字形变换

Z字形变换-力扣
在这里插入图片描述

char* convert(char* s, int numRows) {int n=strlen(s);int r=numRows;if(r == 1 || r >= n){return s;}int t=2*r-2;//周期char* str=(char*)malloc(sizeof(char)*(n+1));int pos=0;for(int i=0;i<r;i++)//矩阵的行{for(int j=0;j+i<n;j+=t)//每个周期的起始下标{str[pos++]=s[i+j];//这个周期的第一个字符if(i > 0 && r-1 > i && j+t-i < n){str[pos++]=s[j+t-i];//这个周期之后的字符}}}str[pos]='\0';return str;
}

在这里插入图片描述

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

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

相关文章

Git 远程操作

1. 理解分布式版本控制系统 我们所说的⼯作区&#xff0c;暂存区&#xff0c;版本库等&#xff0c;都是在本地&#xff01;也就是在笔记本或计算机上。⽽我们的 Git 其实是分布式版本控制系统.可以简单理解为&#xff0c;我们每个⼈的电脑上都是⼀个完整的版本库&#xff0c;这…

Java 中的抽象工厂模式:优雅地掌握对象创建

文章目录 一、概述三、抽象工厂设计模式的意图四、抽象工厂模式的详细解释及实际示例五、Java 中抽象工厂模式的编程示例六、抽象工厂模式类图七、Java 中何时使用抽象工厂模式八、抽象工厂模式 Java 教程九、抽象工厂模式的优点和权衡十、Java 中抽象工厂模式的实际应用十一、…

【Web UI自动化测试】Web UI自动化测试之框架篇(全网最全)

本文大纲截图&#xff1a; UnitTest框架&#xff1a; PyTest框架&#xff1a; 框架&#xff1a; 框架英文单词 framework&#xff0c;为解决一类事情的功能的集合。需要按照框架的规定&#xff08;套路&#xff09;去书写代码。 一、UnitTest框架介绍【文末分享自动化测试学…

使用canal增量同步ES索引库数据

Canal增量数据同步利器 Canal介绍 canal主要用途是基于 MySQL 数据库增量日志解析&#xff0c;并能提供增量数据订阅和消费&#xff0c;应用场景十分丰富。 github地址&#xff1a;https://github.com/alibaba/canal 版本下载地址&#xff1a;https://github.com/alibaba/c…

鸿蒙开发:深入浅出Stage模型(UIAbility组件)

&#x1f680;一、UIAbility组件 &#x1f50e;1.概述 HarmonyOS中的Stage模型是一种基于UIAbility组件的应用程序架构。UIAbility是HarmonyOS系统中用于构建用户界面的基本组件之一。它负责处理应用程序界面的显示和交互。 在Stage模型中&#xff0c;每个应用程序都有一个或…

LLM —— 强化学习(RLHF-PPO和DPO)学习笔记

强化学习整体流程 智能体执行动作与环境进行交互&#xff0c;根据奖励R的反馈结果不断进行更新。 价值函数 奖励将会考虑两个方面的奖励&#xff0c;一个当下的奖励&#xff0c;一个是未来的奖励&#xff08;为了防止陷入局部最优解&#xff09;。 LLM强化学习 强化学习模型分…

CTF—杂项学习

1 文件操作隐写 1.1 文件类型识别 1.1.1 File命令 当文件没有后缀名或有后缀名而无法打开时&#xff0c;根据识别出的文件类型来修改后缀名即可正常打开文件&#xff0c;file是Linux下的文件识别命令。 file 文件名 使用场景&#xff1a;不知道后缀名&#xff0c;无法打开文件…

【STM32开发笔记】STM32H7S78-DK上的CoreMark移植和优化--兼记STM32上的printf重定向实现及常见问题解决

【STM32开发笔记】STM32H7S78-DK上的CoreMark移植和优化--兼记STM32上的printf重定向实现及常见问题解决 一、CoreMark简介二、创建CubeMX项目2.1 选择MCU2.2 配置CPU时钟2.3 配置串口功能2.4 配置LED引脚2.5 生成CMake项目 三、基础功能支持3.1 支持记录耗时3.2 支持printf输出…

SEO之网站结构优化(十三-网站地图)

** 初创企业搭建网站的朋友看1号文章&#xff1b;想学习云计算&#xff0c;怎么入门看2号文章谢谢支持&#xff1a; ** 1、我给不会敲代码又想搭建网站的人建议 2、“新手上云”能够为你开启探索云世界的第一步 博客&#xff1a;阿幸SEO~探索搜索排名之道 网站无论大小&…

京存分布式赋能EDA应用

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。——《老子德经第六十四章》 EDA&#xff08;Electronic Design Automation 电子设计自动化&#xff09;是利用计算机&#xff0c;完成对VLSI &#xff08;V…

OpenCV绘图函数(8)填充凸多边形函数fillConvexPoly()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 填充一个凸多边形。 函数 cv::fillConvexPoly 绘制一个填充的凸多边形。这个函数比 fillPoly 函数快得多。它可以填充的不仅仅是凸多边形&#…

25届最近5年自动化考研院校分析

哈尔滨工程大学 目录 一、学校学院专业简介 二、考试科目指定教材 三、近5年考研分数情况 四、近5年招生录取情况 五、最新一年分数段图表 六、初试大纲复试大纲 七、学费&奖学金&就业方向 一、学校学院专业简介 二、考试科目指定教材 1、考试科目介绍 2、指定…

C++ | Leetcode C++题解之第377题组合总和IV

题目&#xff1a; 题解&#xff1a; class Solution { public:int combinationSum4(vector<int>& nums, int target) {vector<int> dp(target 1);dp[0] 1;for (int i 1; i < target; i) {for (int& num : nums) {if (num < i && dp[i - …

《JavaEE进阶》----4.<SpringMVC①简介、基本操作>

本篇博客讲解 MVC思想、及Spring MVC&#xff08;是对MVC思想的一种实现&#xff09;。 Spring MVC的基本操作、学习了六个注解 RestController注解 RequestMappering注解 RequestParam注解 RequestBody注解 PathVariable注解 RequestPart注解 MVC View(视图) 指在应⽤程序中…

四大名著改编的ip大作,一个巨亏2亿,一个狂赚20亿!选择决定成败!

最近讨论热度比较高的当属《红楼梦》和《西游记》了 胡玫导演的《红楼梦之金玉良缘》耗费了18年的心血&#xff0c;投资了2个多亿 却仅仅只有600万票房&#xff0c;还被网友调侃称“一黛不如一黛” 而由《西游记》改编的游戏《黑神话悟空》&#xff0c;研发10年投资6亿&…

【drools】Rulesengine构建及intelj配置

7.57.0.FinalRulesengineApplication 使用maven构建 intelj 打开文件资源管理器实在是太慢了所以直接把pom 扔到其主页识别为maven项目,自动下载maven包管理器 然后解析依赖: 给maven加一个代理 -DproxyHost=127.0.0.1 -DproxyPort=7890 还是卡主

机器人拾取系统关节机械臂通过NY-PN-EIPZ进行命令控制

关节机械臂是一种精密的机器&#xff0c;旨在模拟人类手臂在订单拣选操作中的运动。这些多功能机器人由多个关节组成&#xff0c;通常有 4 到 7 个轴&#xff0c;使它们能够高度自由地移动&#xff0c;并在仓库内以各种方向和位置接触物品。 制造工厂智能仓库系统中的关节机械臂…

Mobile-Agent项目部署与学习总结(DataWhale AI夏令营)

前言 你好&#xff0c;我是GISer Liu&#xff0c;一名热爱AI技术的GIS开发者&#xff0c;本文是DataWhale 2024 AI夏令营的最后一期——Mobile-Agent赛道&#xff0c;这是作者的学习文档&#xff0c;这里总结一下&#xff0c;和作者一起学习这个多模态大模型新项目吧&#x1f6…

AMEYA360 :“Radisol”,一款可改善智能手机Wi-Fi天线性能的村田电子新产品

株式会社村田制作所开发了村田首款(1)天线抗干扰器件‘Radisol’。Radisol是一款可配备到天线上来抑制无线性能下降的新产品&#xff0c;该产品已于2024年6月开始量产&#xff0c;并已用在Motorola Mobility LLC 2024年8月开始销售的智能手机“Edge系列”新机型。摩托罗拉通过采…

【Qt】垂直布局管理器QVBoxLayout

垂直布局管理器QVBoxLayout 在之前学习Qt的过程中&#xff0c;将控件放在界面上&#xff0c;都是依靠“手动”的方式来布局的&#xff0c;但是手动调整的方式是不科学的。 手动布局的方式非常复杂&#xff0c;而且不精确无法对窗口大小进行自适应 因此Qt引入布局管理器来解决…