首页 > 其他分享 >代码随想录第八天| 字符串总结 双指针总结

代码随想录第八天| 字符串总结 双指针总结

时间:2023-11-02 22:35:09浏览次数:27  
标签:总结 第八天 python 反转 随想录 字符串 指针 库函数

1. 字符串总结1. Python对于字符串的处理       

python的字符串是immutable的,同时其也不像c++或c需要特殊的停止符来表示终止:由于python字符串不可变的特性,python底层会记录每个字符串的长度,所以其不需要终止符。

2. 要不要使用库函数        如果题目的关键部分可以使用库函数快速简单的解决,并且你还不知道库函数具体的实现原理,那建议不要使用库函数,因为这就是去了题目考察的意义,你不会因为这道题AC了而变得更强。如果你已经完全能够复现函数了(如之前的reserve()函数,那直接调用库函数是完全没问题的,毕竟在理解的基础上效率优先)

3. 双指针法在字符串中的应用(python均需将字符串转为list)使用双指针法反转字符串(leetcode 344)使用双指针替换字符串内的元素(使用python时需要将字符串转化为列)(替换空格)[预先给数组扩容带填充后的大小,然后在从后向前进行操作。]针对数组删除问题(leetcode 27, 15)

4. 反转字符串        如leetcode 541,在344反转字符串的基础上增添了若干个条件,需要较强的思维逻辑能力。但同时也可以使用while来做文章。正如随想录中所写的,当需要固定规律一段一段去处理字符串的时候,要想想在在for循环的表达式上做做文章。        再像leetcode151,我们需要首先对字符串进行整体反转,然后在此基础之上排除多余空格,最后再对单个单词进行反转。

 

 

2. 双指针法总结        从使用的角度来说,双指针法分为快慢指针、左右指针、逆序指针(我编的,不知道其专有名词)大部分双指针法都可以把o(n2)的复杂度降为o(n)。我下面将把之前做过的题目与对应的指针进行分类。快慢指针:删除元素,判断列表是否有闭环,删除列表倒数第n个节点,反转链表左右指针:字符串反转,数组平方后排序,n数之和逆序指针:字符串替换元素

 

2023-11-02     22:24:03

标签:总结,第八天,python,反转,随想录,字符串,指针,库函数
From: https://www.cnblogs.com/ShaoYu-rush/p/17806516.html

相关文章

  • 2023-2024-1 20231329《计算机程序与设计》第六周学习总结
    作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06这个作业的目标计算机科学概论第7章并完成云班课测试《C语言程序设计》第5章并完成云班课测试......
  • 2023-2024-1 20231320 《计算机基础与程序设计》第六周学习总结
    2023-2024-120231320《计算机基础与程序设计》第六周学习总结作业信息这个作业属于哪个课程<班级的链接>(2023-2024-1计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2022-2023-1计算机基础与程序设计第六周作业)这个作业的目标<自学《计算机基础与......
  • map知识点总结
    map是STL的一个关联容器,它提供一对一的hash(哈希表)第一个可以称为关键字(key),每个关键字只能在map中出现一次;第二个可能称为该关键字的值(value);map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部......
  • 对太赫兹单像素成像的总结
    存在的挑战:1.为图像重建问题选择合适的正则项和数值算法2.自动校准,照明光束很难表征,衍射导致的相位恢复问题(phaseretrievalproblem)3.移动物体成像的运动校正4.多光谱图像的重建参考文献:1.M.Burger,J.Foecke,L.Nickel,P.Jung,andS.Augustin,"ReconstructionMethods......
  • 滴水逆向视频学习总结
    滴水逆向笔记一、数据的宽度表示(正数和负数的二进制表示本质)4位的宽度表示8位的宽度表示16位的宽度表示32位的宽度表示二、逻辑运算的本质计算2+3=?步骤:2转换成二进制00103转换成二进制0011异或之后变成0001,R来存储0001然后将2和3的二进制,0010和0011进行与运算,得......
  • 每日总结20231102
    代码时间(包括上课)6h代码量(行):100行博客数量(篇):1篇相关事项:1、今天是周四,上的是软件设计模式和软件需求分析,软件模式写的是原型模式和单例模式,软件需求分析写的是排产的业务流程图。2、今天下午上的是人机交互技术,用c#写的是前端界面。3、今天还打算看看软件设计师相关的题目,我......
  • 每日总结
    注意点:1. 当添加元素是必填项的时候,一定要写这个这样的话,前端看见了就知道是必填了2.添加事务的时候,不能再aop上加否则日志也会跟着回滚,效率慢。 这样的效率比较快,如果是在业务层的话可以直接加注解形式的事务。3.在添加的时候如果这个参数只能传特定值则需要用到@Val......
  • Java语言基础知识点梳理与总结
    Java语言基础知识点梳理与总结Java是一种广泛应用于软件开发的编程语言,具有丰富的特性和功能。在学习Java语言时,了解以下基础知识点对于建立坚实的编程基础非常重要。本博客将介绍Java语言中的标识符、运算符、流程控制、循环结构、分支结构、数组、方法、类与对象等主要知识点。......
  • API管理平台搭建过程问题总结​
    API管理的定义和好处API管理是指对应用程序编程接口(API)进行集中管理、监控和维护的过程。API是用于不同软件之间进行通信和交互的编程接口,通过API管理可以有效地管理和控制API的使用、访问和安全性。API管理的好处包括:1、提高开发效率:通过API管理,开发团队可以更好地共享和重用API,避......
  • 计算云服务中裸金属服务器(BMS)的一些总结
    概念简单的说就是物理机的线上作用服务,它兼具虚拟机的弹性和物理机的性能,在ECS上性能更加优化。相对于其他PC机的一些优势:安全可靠性能卓越敏捷的部署效率云服务和解决方案可以快速集成总的来说就是具有更快的服务速度,响应速度更快。应用场景核心数据库高性能计算B......