自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 代码随想录算法训练营第十四天 | 144. 前序遍历 、94. 前序遍历、145. 后序遍历

递归前序. - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。

2024-03-13 15:53:07 313

原创 代码随想录算法训练营第十三天 | 239. 滑动窗口最大值 、347.前 K 个高频元素

239.滑动窗口最大值. - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。思路:这题模拟去写,就是暴力也能写出来,思路很清晰,但是过不了时间要求,而且面试你总归是要优化的,更改完代码。

2024-01-12 20:00:00 340 1

原创 代码随想录算法训练营第十一天 | 20. 有效的括号 、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

思路:直接push对应的右括号,是右括号的话直接就pop栈顶括号,否则说明前后括号不匹配,直接false,卡哥的思路很不错。思路:直接模拟,就好像是消消乐,栈顶与当前字符直接消除,否则push进去,然后把保留的符号直接倒序出来,返回出去。思路:直接模拟,思路很简单,遇到那4个符号了直接把栈顶的2个元素给计算了,计算完再push进去。我自己写的比较复杂,还用map存储了对应的映射。1047. 删除字符串中的所有相邻重复项。150. 逆波兰表达式求值。

2024-01-09 23:30:43 376

原创 代码随想录算法训练营第十天 | 232.用栈实现队列 、225. 用队列实现栈

思路:思路没有之前那么清晰,但是整体思路没差多少,因为push的时候怎么接收都行,主要是pop的时候需要先进后出,其实这里只用一个队列也可以实现栈,另一个队列完全是辅助中间存储使用,每次push的时候倒腾一下顺序,保证queue始终倒序存储的,这样pop和peek就不需要每次都处理了 直接poll()和peek()就行了。思路:两个栈,一个栈只用于push进入,另一个栈只用于out输出,只能明确,每次pop之前把所有inStack都移动到out中,很好实现。232. 用栈实现队列。225. 用队列实现栈。

2024-01-09 10:39:36 328

原创 代码随想录算法训练营第九天 | 28. 找出字符串中第一个匹配项的下标、459.重复的子字符串

直接模拟也可以过,但是确实是带有很强烈的KMP的气息,考这题不能装作没听过KMP算法的样子,实战切忌一下子就写到没有优化空间的地步,那样他还会考一次....... - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。使用KMP之后,时间复杂度从O(m*n)降低到 O(m+n)......28. 找出字符串中第一个匹配项的下标。459.重复的子字符串。我再看几遍答案...

2024-01-05 00:26:53 359 1

原创 代码随想录算法训练营第八天 | 344. 反转字符串、541. 反转字符串 II、卡码网54.替换数字、151.翻转字符串里的单词、卡码网55. 右旋字符串

- 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。反转字符串,主要是熟悉下字符串的操作,左右指针直接交换就可以了,没想到后面这是基本操作。思路:直接模拟也可以写,很方便,左右指针一出谁与争锋,就是这个边界想了半天...这题一开始跳过了,确实是里面操作最多的,而且我记得剑指offer里也有。541. 反转字符串 II。151.翻转字符串里的单词。344. 反转字符串。卡码网54.替换数字。也是基本操作,很简单。

2024-01-04 23:37:05 343 1

原创 代码随想录算法训练营第七天 | 383. 赎金信、454. 四数相加II、15.三数之和、18. 四数之和

383. 赎金信判断思路和昨天的字母异位词几乎一样,同数异位词是要求ransomNote和magazine 字母出现的个数完全一样,但是今天的是要求>=,所以推出条件宽松一些,并且因为是已知的26个小写的英文字母,所以直接用数组就可以了,昨天和今天的题目大概想了一下,其实本题也可以用Map<Character,Integer> 保存字母以及每个字母出现的次数,但是和用s.charAt(a)-'a' 确认数组下标来说没有区别,用数组就可以。public boolean isAnag

2024-01-03 20:22:36 336 1

原创 代码随想录算法训练营第六天 | 242. 有效的字母异位词、349. 两个数组的交集、202.快乐数、1. 两数之和

判断两个单词是否字母 出现的次数都相同,因为字母只有26个小写的,所以可以考虑用数组当hash表,并且可以确定每个字母的位置(当前字母-'a'用作数组下标),第一个单词中所有字母出现的次数,应该与第二个字母的相等(res[a]++;O(n^2) 方法就是暴力解决,需要求数组交集的情况下,可以把第一个数组变成哈希表1,减少遍历,因为只看两个数组中都重复出现的次数,再用哈希表2存哈希表1中存储过的数据,核心思路先是肯定了这其中一定有一个按位拆分,计算平方和的函数,n/10 循环变量,n%10是没位的数字,

2024-01-02 17:15:37 314 1

原创 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点、19. 删除链表的倒数第 N 个结点、面试题 02.07. 链表相交、142. 环形链表 II

cur、one (1)、two (2)、temp(cur.next.next.next)节点,分别进行节点的两两交换。进行快慢指针遍历,循环中如果有相等的,直接退出,否则无相交节点。虚拟头节点,快慢指针,慢指针指向倒数第n+1个节点,删除的时候,需要删除的节点 的前序节点指向 后置节点。应用虚拟节点,virtualHead,19. 删除链表的倒数第 N 个结点。19. 删除链表的倒数第 N 个结点。思路是快慢指针,先分别计算长度,按。24. 两两交换链表中的节点。24. 两两交换链表中的节点。

2024-01-01 00:17:47 340

原创 代码随想录算法训练营第三天 | 203.移除链表元素、​707. 设计链表、206. 反转链表

每次都要想一遍咋用三个节点,4个命令循环完的,这次也是...一个是2、直接模拟,把所有前置节点为val值的情况都排除完。可以的思想有2个,一个是1、设置虚拟节点。203. 移除链表元素。后续二者是一样的处理。

2023-12-30 01:25:00 354 1

原创 代码随想录算法训练营第二天 | 977. 有序数组的平方、209. 长度最小的子数组、59. 螺旋矩阵 II

t=N7T8t=N7T8t=N7T8977. 有序数组的平方https://leetcode.cn/problems/squares-of-a-sorted-array/209. 长度最小的子数组https://leetcode.cn/problems/minimum-size-subarray-sum/59. 螺旋矩阵 IIhttps://leetcode.cn/problems/spiral-matrix-ii/

2023-12-29 00:37:09 330 1

原创 代码随想录算法训练营第一天 | 704. 二分查找、27. 移除元素

二分查找主要是写的时候要注意是左闭右闭区间,还是左闭右开区间,需要注意下这个区别。暴力写写了2遍才想出来,暴力也不好写,双指针就更trick了.....

2023-12-28 01:13:28 352

原创 Android上实现蓝牙设备交互

转载------------------------------------------自https://www.wandouip.com/t5i179481/--------------------------------------因项目需要做一个Android 的蓝牙app来通过手机蓝牙传输数据,在此总结。 该应用的Compile Sdk Version 和targetSdkVersion均为26,Min Sdk Version为22,基于Android studio平台开发。...

2020-05-28 21:02:24 1308

原创 Makefile这些事儿

Makefile项目管理工具它是一门脚本语言作用:1.便于编译管理代码2.节省编译时间3.一次编写终身受益(复用性特别强)我们来看一下一个程序执行的过程,.o文件是核心二进制文件,(Linux下是.o ,windows下是.obj)在编译过程中暂存,如果说节省编译时间,主要节省生成核心二进制时间庞大项目有无数文件生成核心二进制文件,有大量的时间开销,如果说因为...

2019-08-22 11:19:39 123

原创 堆和栈的一些事儿

* 栈区,由编译器自动申请空间和释放空间,存放函数的参数,局部变量等。其操作方式类似于数据结构中的栈。* 堆区,一般手动开辟空间和释放空间,若不手动释放,程序结束时可能由操作系统回收,与数据结构中的堆是两回事,分配方式类似于链表* 全局区(静态区):全局变量和静态变量的存储是放在一起的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域,程序结...

2019-08-16 16:25:24 135

原创 关于指针与引用的区别

指针-对于一个类型T,T*就是指向T的指针类型,也即一个T*类型的变量能够保存一个T对象的地址,而类型T是可以加一些限定词的,如const、volatile等等。见下图,所示指针的含义:●引用-引用是一个对象的别名,主要用于函数参数和返回值类型,符号X&表示X类型的引用。见下图,所示引用的含义:2、指针和引用的区别●首先,引用不可以为空,...

2019-08-16 16:23:43 341

原创 关于&&,||的短路原则

&&和||运算有一个短路特性简单叙述如下。要使(表达式1)&&(表达式2)运算结果为真则要求:表达式1,表达式2都为真,如果表达式1为假,则不计算表达式2了,因为此时已经确定(表达式1)&&(表达式2)运算结果不可能为真,这就是&&运算的短路特性。要使(表达式1)||(表达式2)运算结果为假则要求:表达式1,表达式2都为...

2019-08-16 16:21:07 4722 1

原创 函数传参及重载重定义

函数的参数设置函数传参的时候 可以设置默认值void show(int a=100,int b=100,int c=200,int c=20);函数的声明与定义void show(int a=100,int b=100,int c=200,int d=20);//声明void show(int a=100,int b=100,int c=200,int d=20)//定义{a=1...

2019-08-16 16:19:47 298

原创 设计模式有哪些事儿(一)

一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两...

2019-08-16 16:07:36 155

转载 转载——条件编译的用法

本文主要介绍c语言中条件编译相关的预编译指令,包括&nbsp; #define、#undef、#ifdef、#ifndef、#if、#elif、#else、#endif、defined。#define &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;定义一个预处理宏#undef &nbsp; &nbsp; &nbsp; &nbsp...

2019-04-02 21:06:43 533

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除