当前位置:网站首页>基于数组结构刷题
基于数组结构刷题
2022-08-05 21:45:00 【库里不会投三分】
双指针用法
26删除有序数组的重复项
- 这道题就很能体现数组的特性,我们找到数组是连续存储的,如果你想删除数组的一个元素,那么你必须去让这个元素之后的所有元素去往前覆盖一个元素,所以这道题,让我们去返回剩余元素的长度,其实并不是真的像链表那种将元素之间的连接断开
- 这题的思路就是双指针,我们用一个指针指向第一个元素,另一个也指向第一个元素,第一个元素是用来指向无序元素的最后一个索引,另一个指针来判断是否是重复的元素
class Solution { public int removeDuplicates(int[] nums) { int n1=0; int n2=0; while (n2<nums.length){ if (nums[n1]==nums[n2]){ n2++; }else { n1++; nums[n1]=nums[n2]; n2++; } } return n1+1; } }对比链表的数据结构
- 链表我们需要通过next这种连接来遍历链表,其删除节点也非常简单,只需要断开相应的连接即可,这就是基于不同的数据结构,有不同的解决方法
ListNode deleteDuplicates(ListNode head) { if (head == null) return null; ListNode slow = head, fast = head; while (fast != null) { if (fast.val != slow.val) { // nums[slow] = nums[fast]; slow.next = fast; // slow++; slow = slow.next; } // fast++ fast = fast.next; } // 断开与后面重复元素的连接 slow.next = null; return head; }
27移除元素
class Solution { public int removeDuplicates(int[] nums) { int n1=0; int n2=0; while (n2<nums.length){ if (nums[n1]==nums[n2]){ n2++; }else { n1++; nums[n1]=nums[n2]; n2++; } } return n1+1; } }
283移动0
class Solution { public void moveZeroes(int[] nums) { //其实就是变形了一下,将0的元素全删除,留下前面的都是不为0的元素,把数组剩余的空间值都赋值为0 int p= remove(nums,0); for (int i = p; i <nums.length ; i++) { nums[i]=0; } } private int remove(int[] nums, int i) { int slow=0; int fast=0; while (fast<nums.length){ if (nums[fast]!=0){ nums[slow]=nums[fast]; fast++; slow++; }else { fast++; } } return slow; } }
334反转字符串
![]()
class Solution { public void reverseString(char[] s) { int left=0; int right=s.length-1; while (left<right){ char temp=s[left]; s[left]=s[right]; s[right]=temp; left++; right--; } } }
边栏推荐
猜你喜欢

元宇宙互操作性解决虚拟消费的顾虑

Analytics Redefined - EventBridge Real-Time Event Analytics Platform Released

高并发下秒杀促销活动,你必须知道的9个细节

B2B营销新策略 | B2B企业如何实现产品导向增长目标(附方案下载)

【cocos2D-X】植物大战僵尸之 僵尸创建 和移动

Pytest学习-Fixture参数

自学建模,用什么方法最有效,游戏建模都要用到哪一些呢?

【opencv图像处理】-- 8. 特征点检测:Harris,shi-tomasi,SIFT角点检测,关键点和描述子

2.【openCV常用函数模板】

灵活好用的sql monitoring 脚本 part3
随机推荐
Chery Arrizo 8 will be officially launched on September 26, and the product lineup will be expanded
中国石油大学(北京)-《 油气田开发方案设计》第二阶段在线作业
CFdiv2-Chip Move-(线性dp+状态枚举方式)
关于i.MX6ULL配置GPIO
中国石油大学(北京)-《油藏工程》第一阶段在线作业
“Beautiful Sky, Stars Shine.“
SciencePlot-科研绘图
Affected by the epidemic, many provincial examination interviews in Henan have been postponed
受疫情影响,河南多地省考面试延期进行
UDP/TCP实时传输图像
中国石油大学(北京)-《 油气藏经营管理》第二阶段在线作业
ZeroMQ替代ros
Win11鼠标动不了 键盘怎么代替鼠标操作
同花顺开户炒股安全吗?
模板的特化
架构实战营课程学习感受
数组的使用
What is the difference between Set, Map, WeakSet and WeakMap?
基于gin-gonic设计api接口
数字孪生扫除智慧城市“盲点”,赋能社会数字发展





