首页 > 其他分享 >力扣-数组-双指针

力扣-数组-双指针

时间:2023-03-29 11:33:49浏览次数:49  
标签:right val nums int 力扣 数组 指针 left

 

 

 

 

 1 class Solution(object):
 2     def removeElement(self, nums, val):
 3         """
 4         :type nums: List[int]
 5         :type val: int
 6         :rtype: int
 7         """
 8         # 双指针法,left从前往后定位val,right从后往前把非val换到left指向的val位置
 9         left = 0
10         right = len(nums)-1
11         while(left<right):# 还没遍历完数组时进入循环
12             if nums[left]==val:
13                 if nums[right]!=val:
14                     nums[left] = nums[right]
15                     left += 1
16                     right -= 1
17                 else: 
18                     right -= 1
19             else: 
20                 left += 1
21         # 判断跳出循环时,left和right的大小关系,返回left相关
22         # left指向要保留
23         if left==right and val!=nums[left]:
24             return left+1
25         # right<left或left==right,nums[left]==val,删除
26         else:
27             return left

 

标签:right,val,nums,int,力扣,数组,指针,left
From: https://www.cnblogs.com/shi-yi/p/17268264.html

相关文章

  • [shell] 读取多行输出到数组/遍历awk输出的某一行
    效果想要达到的效果为,使用awk切分输出后,遍历每一行的输出。以下以ls-lh命令示例,遍历输出ls-lh命令的第一列输出。实际使用替换ls-lh演示1.存放到数组后遍历数组第......
  • 使用memset对数组进行赋值时可能会有的疑惑
    Memset(typename,intvalue,size) *第一个参数为变量的标识符,第二个要赋为数组的值,第三个为数组的大小(单位为字节,可用sizeof()表示)原理:memset是字节为单位进行复制......
  • Java入门_二维数组_第二题_杨辉三角
    题目杨辉三角要求使用二维数组打印一个10行的杨辉三角思路第i行输出i个数。arr3[i][j]=arr3[i-1][j]+arr3[i-1][j-1];总结如上规律,代码实现并输......
  • java方法-二维数组
    多维数组多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一维数组二维数组int[][]a=newint[2][5];解析:以上二维数组a可以......
  • Leetcode81. 搜索旋转排序数组 II
    classSolution{public:boolcheck(vector<int>&nums,inttarget,intl,intr)//[l,r]区间查找target{while(l<r){intmid=(......
  • 指针
    1、指针:用来存放地址的,地址是唯一标识一块地址空间的2.1、意义:指针的类型决定了指针进行解引用操作时,访问空间的大小     int*---访问4个字节     char*-......
  • 力扣---面试题 01.04. 回文排列
    给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。回文串不一定是字典当中的单词。......
  • mongodb分组且提取组内所有数据到一个数组里面方式
    db.tempdata.insertMany([{name:"AAA",age:14,country:"us"},{name:"BBB",age:13,country:"us"},{name:"......
  • JSON 数组对象获取 其中某个属性的值
    importcn.hutool.json.JSONArray;importcn.hutool.json.JSONObject;importcn.hutool.json.JSONUtil;publicstaticvoidmain(String[]args){Strings......
  • 练习——稀疏数组的简单应用
    packagecom.q1u.array;publicclassArrayDemo08{publicstaticvoidmain(String[]args){//1.创建一个二维数组11*110:没有棋子1:黑棋2:白......