电子商务网站需求分析敦化市建设局网站

bicheng/2026/1/25 4:05:30/文章来源:
电子商务网站需求分析,敦化市建设局网站,网站开发岗位实际情况,网站建设什么软件好Given a singly linked list, determine if it is a palindrome. 一开始想用栈#xff0c;但是试来试去发现写不出来遂放弃#xff0c;后来想想再不济可以转换成数组然后分别两头扫#xff0c;但是这样就用了O(n) 的空间#xff0c;再进一步#xff0c;可不可以在链表里模… Given a singly linked list, determine if it is a palindrome. 一开始想用栈但是试来试去发现写不出来遂放弃后来想想再不济可以转换成数组然后分别两头扫但是这样就用了O(n) 的空间再进一步可不可以在链表里模拟呢。思前想后发现是可以的只要把链表的头尾接到一起形成个环然后头指针每次一动1步尾指针每次移动 len - 1 步就行了len 是链表的长度。 这样我实现了算法1 /*** Definition for singly-linked list.* function ListNode(val) {* this.val val;* this.next null;* }*/ /*** param {ListNode} head* return {boolean}*/ var isPalindrome function(head) {if (!head) return true;var tail head;var len 0;while (tail tail.next) {len;tail tail.next;}len;tail.next head;var ring len;while (tail.val head.val) {if (tail head || ring 0) return true;head head.next;ring--;for (var i 0; i len - 1; i) {tail tail.next;}}return false; }; 这个算法是正确的但是很遗憾TLE 了。头尾相接的做法其实是用取模运算的原理来模拟指针运动可以运用相同原理适当改写程序而避免头尾相接算法2 /*** param {ListNode} head* return {boolean}*/ var isPalindrome function(head) {if (!head) return true;var tail head;var len 0;while (tail tail.next) {len;tail tail.next;}len;var p1 head;var p2 head;var k 1;for (var i 0; i len - k; i) {p2 p2.next;}while (p1 p2 p1.val p2.val) {if (p1 p2 || k len) return true;k;p2 head;for (var i 0; i len - k; i) {p2 p2.next;}p1 p1.next;}return false; }; 算法12 的区别就是有卵用和没卵用的区别但是貌似头尾相接要更简洁一点但是同样是TLE。 后面看了些提示又想出一个土办法可以copy 一个链表出来然后反转然后两个链表一起遍历对比算法3: /*** Definition for singly-linked list.* function ListNode(val) {* this.val val;* this.next null;* }*/ /*** param {ListNode} head* return {boolean}*/ var reverseList function(head) {if (!head) return null;var prev null;var now head;var next head.nextwhile (now) {now.next prev;prev now;now next;if (next) next next.next;}return prev; };var copyList function(head) {var p new ListNode(-1);var c p;while (head) {var n new ListNode(head.val);c.next n;c n;head head.next;}return p.next; }var isPalindrome function(head) {if (!head) return true;var copy copyList(head);var rev reverseList(copy);var p rev;var q head;while (p q) {if (p.val ! q.val) return false;p p.next;q q.next;}return true; }; 这个是可以accept 的但是是用了O(n) 额外空间那么转换成数组或者字符串两头扫八成也是可以通过的。 最后看了一些答案发现虽然翻转整个链表需要O(n)的额外空间但是翻转一半的话就不需要那么只需要把原链表翻转一半然后两头扫就行关键是怎么找到一半。 要么先扫一遍得到长度再扫一遍取一半。但是有更简洁的办法可以一次遍历就找出中点就是快慢指针。设想一个指针按正常速度遍历链表另一个指针的速度是他的一半那么当正常速度指针遍历结束的时候半速指针刚好在链表的中间利用这个技巧找到链表中点然后从中点开始翻转然后两头扫就可以。算法4: /*** Definition for singly-linked list.* function ListNode(val) {* this.val val;* this.next null;* }*/ /*** param {ListNode} head* return {boolean}*/ var reverseList function(head) {if (!head) return null;var prev null;var now head;var next head.nextwhile (now) {now.next prev;prev now;now next;if (next) next next.next;}return prev; };var isPalindrome function(head) {if (!head) return true;var fast head;var slow head;var m 1;while (fast) {if (m 0) {slow slow.next;}m (m 1) % 2;fast fast.next;}var tail reverseList(slow);while (head tail) {if (head.val ! tail.val) return false;head head.next;tail tail.next;}return true;}; 利用一个整数变量m 来控制slow 指针的速度fast 每走两步slow走一步。然后reverse 另一半两头扫。整个过程还是很简洁的Accepted。 转载于:https://www.cnblogs.com/agentgamer/p/4907848.html

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

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

相关文章

酒店移动网站建设方案网站 美食频道 建设

目录 一、抖音外卖商品模型 二、商家运营流程 (一)商家入驻流程 (二)商品发布流程 三、推广带货流程 (一)短视频带货 (二)直播视频带货 【直播工具】 【直播流程】 直播前…

找南昌兼职做网站的常德生活网

1、HashMap: 1)、 引入 如果业务需要我们去用姓名的拼音手写字母匹配完整姓名,那么如果用单列数据,我们可能需要两个集合才能存储,而且两个集合之间没有关联不好操作,这种时候双列数据就会起很大作用 2&…

专业型网站网站做团购网站商品从哪里找

掌握SQL的“删除艺术”:如何使用DROP TABLE命令 在数据库管理中,有时候我们需要彻底删除一个表,这可能是为了重新设计数据库结构,或者因为某些表不再需要。SQL 提供了 DROP TABLE 语句来实现这一功能。本文将详细介绍 DROP TABLE…

广告公司网站建设的定位网站设置搜索框是什么知识点

一、对齐: 1.激活对齐:视图–》对齐 2.新建一个文件,然后置入一张图片,设置一个参考线,使用移动工具进行移动,当移动到参考线附近的时候图片会自己吸到参考线上。 3.移动到参考线的时候如需设置空隙&…

网站建设有哪些企业网站关键词优化的步骤

Word文档里有数据表格,如果编辑修改起来感觉没那么方便或容易出错,不妨将文档转换成Excel表格再来处理。 将Word文档转换成Excel,比较常用的是复制粘贴方法,也就是将Word文档的表格复制后,再粘贴到Excel表格里&#x…

买好域名和云主机后怎么做网站工信部外国网站备案

哈哈, 今天是2012-12-21,传说中的世界末日,不过现在看来,一切都是空的。。。 在这个容易记忆的日子里,我的博客开通了。他将伴随我以后的学习开发,期望我能充分利用博客,帮我养成常总结、常记笔…

天津网站制作计划工业和信息化部网站备案

一、Linux磁盘分区和目录 Linux发行版本之间的差别很少,差别主要表现在系统管理的特色工具以及软件包管理方式的不同。目录结构基本上都是一样的。 Windows的文件结构是多个并列的树状结构,最顶部的是不同的磁盘(分区)&#xff0c…

维护网站要做哪些工作十大超级软件免费下载

下面这些问题涉及了与Python相关的许多技能,问题的关注点主要是语言本身,不是某个特定的包或模块。每一个问题都可以扩充为一个教程,如果可能的话。某些问题甚至会涉及多个领域。 我之前还没有出过和这些题目一样难的面试题,如果你…

做计算机网站有哪些功能网页模板怎么下载

关于数组的内容 Verilog数组声明的基本语法 <data_type><vector_size><array_name><array_dimension> 例如&#xff1a; reg[15:0] RAM [0:4095];//储存器数组SystemVerilog允许任何数据类型的非压缩数组 SystemVerilog将非压缩数组的声明进行了扩展…

石家庄新钥匙建站广州有什么好玩的山

前言 说到服务信息&#xff0c;我们还是得回到NamingService&#xff0c;因为这是和NacosServer进行服务注册的核心组件&#xff0c;内部提供了注册、获取Nacos实例的能力。至于其他组件&#xff0c;如Ribbon&#xff0c;在调用时需要所有实例信息来进行负载&#xff0c;那肯定…

建手机端网站代码生成器手机版

一.Docker环境配置 1.拉取Docker镜像 sudo docker pull ubuntu:18.04拉取的为ununtu18版本镜像&#xff0c;环境十分干净&#xff0c;可以通过以下命令查看容器列表 sudo docker images 如果想删除多余的docker image&#xff0c;可以使用指令 sudo docker rmi -f <id&g…

seo技术306如何进行网站的seo

方法一&#xff1a; 打开 Microsoft 官网&#xff1a; 打开开发人员工具&#xff08;按 F12 或右键点击“检查”&#xff09;。 点击“电脑模拟手机”按钮&#xff0c;即下图&#xff1a; 点击后重新加载此网页&#xff0c;即可看到下载选项。

h5跟传统网站有啥区别商务网站建设详细步骤

概念性的介绍&#xff0c;一略而过&#xff0c;不重要。 16.1 数据仓库技术 16.2 联机分析处理技术 16.3 数据挖掘技术 16.4 大数据时代的新型数据仓库 16.5 小结

网站后台的形成淄博网站制作方案

ps -ef |grep python # 查找工具执行PID python pid 11287lsof -p 11287 |wc -l 查看进程占用句柄设置句柄上限IOError: [Errno 24] Too many open files:解决方法

物理机安装虚拟机做网站好处深圳市光明区官网

前言 [MixedCli](https://zhangfisher.github.io/mixed-cli/)为monorepo应用开发命令行程序提供了一套解决方案&#xff0c;提供了更加友好的命令行开发体验。 第1步&#xff1a;创建工程 以一个典型的monorepo为例开始&#xff1a; flexapppackagescli corevuereact示例…

织梦云建站系统谷歌广告代理

前言&#xff1a;关于最近开源后&#xff0c;不少朋友问&#xff0c;怎么我下载下来&#xff0c;运行不了。或者怎么没有左边菜单。货不对板&#xff1f;还是我吃了数据&#xff1f;感言&#xff1a;开源不容易&#xff0c;更不容易的是&#xff0c;明明毫无保留&#xff0c;还…

狮山网站设计制作网站用什么软件有哪些

Spring最重要的功能就是操作数据&#xff0c;数据库编程也是互联网编程的基础&#xff0c;Spring为开发者提供了JDBC模板模式&#xff0c;使用JdbcTemplate可以简化许多编码工作&#xff0c;同时也提供了TransactionTemplate支持事务的模板&#xff0c;但都不是常用技术&#x…

网站关键词在哪里修改网络营销推广的劣势

说起IOC和DI,使用过ASP.NET Core的人对这两个概念一定不陌生&#xff0c;早前&#xff0c;自己也有尝试过去了解这两个东西&#xff0c;但是一直觉得有点很难去理解&#xff0c;总觉得对其还是模糊不清&#xff0c;所以&#xff0c;趁着今天有空&#xff0c;就去把两个概念捋清…

系部网站建设研究方案wordpress 插件发文章

ConceptDraw MINDMAP mac是一款思维导图绘制软件&#xff0c;它可以帮助用户快速创建各种类型的思维导图&#xff0c;如组织结构图、流程图、概念图和UML图等。该软件具有直观的界面和简单易用的操作方式&#xff0c;使得用户能够轻松地创建复杂的思维导图。此外&#xff0c;它…