用指针交换两个数_LeetCode双指针系列
从今天开始刷专题啦,正式开始准备春招~
LeetCode167两数之和
这个题比较简单,而且之前也做过两数之和的问题,所以直接双指针就可了。暴力应该也可以过的,但是懒得写了。
class
LeetCode633 平方数之和
这个题和上面是一个思路的,只是一开始我用的sum计算两个数的平方和,但是这样会溢出,所以就这里可以用减法,就可以过了。
class
LeetCode345反转字符串
mmp,这个题有毒,明明提交一下就AC,结果执行的时候一直报错,,什么地址错误。。让我bug了好一会。。气死。
不过这个题,一开始我忘了交换以后肯定left和right的值要发生变化的呀。。没变化所以,,导致一直出不来循环,我个zz!
class
LeetCode680 验证回文数
fck,,又是一个zz题目,之前做的那个最常回文字符串,就耗费了我很久,这个小破题这么简单,,结果又废了这么久,反思一下自己,,其实这个题思路上很简单的,但是一开始我总是超时。。后来想了一下,这个题的简单之处在于,它最多去除一个字符串,回文字符串又是对称的,所以就从两边开始判断是否相等,不相等的时候就去除左边的或者右边的,如果去除以后还不是回文字符串,那就返回false即可。第一个第二个都超时了,第三个方法运行比较快,反正把函数放在private和public里面完全不同,放在private会比public快要多一倍。
而且这个题出错的点还有一个是erase的用法,要传入两个参数,要不然就默认以空格为分隔。。会把一整个字符串全都删掉。
第一个
以下运行时间76ms
class
LeetCode88 合并两个有序数组
双指针做法时间会比较快,第一种方法时间4ms,但需要额外内存;第二种方法不需要额外内存,但是耗时12ms,但应该不是循环的事,时间复杂度应该都是m+n,但是第二种慢可能是数组赋值不如push_back快。
第一种
第二种
class
LeetCode524 通过删除字母匹配到字典里最长单词
终于到了双指针的最后一个题,这个题在做的时候,一开始想用双指针,然后++和--就是搞不清,,算了,还是单指针吧,反正也不会耗时太久,之后我还出了个错误是,一开始赋值应该是空字符串的,结果莫名其妙的搞成了d[0],但是因为这个题它会出现不存在的情况,所以如果是d[0]为初始值,那就一定会存在的,和题目不符合。
class
用指针交换两个数_LeetCode双指针系列相关推荐
- c语言用指针两个字母交换,c语言指针基础之用指针交换两个数(代码实例)
用指针交换两个数: void swap(int *p,int *q) { int temp; temp = *p; *p = *q; *q = temp; } int main() { int a = ...
- 用指针交换两个数_C语言100题集合026-使用指针交换两个数组中的最大值
系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...
- C语言通过指针交换两个数
#include<stdio.h> void swap1(int *p1,int *p2){//p1,p2分别对应a,b的地址,*p1和*p2分别对应a和b的值 int p;//p是一个变 ...
- 利用位运算和指针实现的交换两个数的程序
位运算是C语言的一大特色,利用异或运算可以实现交换两个数,原理是一个整数与另外一个数进行两次异或运算仍然是其本身,基本原理用式子表达如下: (1) A ^ A = 0; (2) A = A ^B; ( ...
- c语言指针输出两个数的最大值和最小值,并求和,有些不清楚这样写为什么不行。
网上看到一个帖子,居然自己找不出原因. c语言指针输出两个数的最大值和最小值,并求和,有些不清楚这样写为什么不行. #include<stdio.h> int main() { i ...
- arrays中copyof复制两个数组_C语言100题集合026-使用指针交换两个数组中的最大值
系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...
- C语言拆分一个三位数。以及交换两个数(常规法复习加指针法学习)
给一个三位数,要求拆分出百位十位,个位.然后输出. 以前我们在水仙花那次求水仙花数 提到过经典的取法 我们再次展示一下: #include<stdio.h> int main() {int ...
- C语言实现交换两个数
方法一:最普通方法--建立临时变量 思路分析:建立一个临时变量,通过temp=a,a=b,b=temp来实现交换. 缺点:这只是一种假交换,由于这只是在函数内部临时变量间的交换,所以当函数退出,函数栈 ...
- 用按位异或运算符交换两个数,不引入第三个变量
2019独角兽企业重金招聘Python工程师标准>>> 用按位异或运算符交换两个数,不引入第三个变量 void swap(int &a , int &b) { a = ...
最新文章
- 科普:5G网络关键技术详解
- 查看linux系统性能
- 亲测有用的markdown博客生成器
- Enterprise Library学习所得(一):总体概述
- 大家都在看的公众号是哪几个?
- LeetCode:输出整体轮廓线和最长子数组长度
- mysql预编译语句拼接查询_SQL语句预编译(查询)
- activiti5.22 springboot 流程引擎 实战全过程
- Javascript中 != 和 !==的区别
- 【原创】开源Math.NET基础数学类库使用(04)C#解析Matrix Marke数据格式
- 5. Linux 设备文件名
- ASP 中用Ctrl+Enter提交表单
- CF1528B Kavi on Pairing Duty(dp)
- [转]一个应届计算机毕业生的2012求职之路
- web前端培训—css源码笔记(二)【爱创课堂】
- iPhone 13 120Hz屏幕稳了;AirPods Pro支持查找功能
- C# 获取适配器网络连接IP地址,子网掩码,DNS,数据包等信息
- 手机wps云文档无法连接服务器,手机wps云文档怎么用
- Java学习笔记Day06 工具类及常用算法
- grid布局浏览器兼容_Grid布局