首页 > 其他分享 >day1-数组和链表

day1-数组和链表

时间:2024-07-21 22:19:05浏览次数:16  
标签:right val nums int mid day1 链表 数组

力扣
704.二分查找
给定一个n个元素的有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回小标,否则返回-1。
思路:二分查找法,定义左右边界[left,right);不断取中值缩小查找范围。

class Solution{
  public int search(int[] nums,int target){
    int left=0;
    int right=nums;
    while(right>=left){
      int mid=(left+right)/2;
      if(nums[mid]>target){
        right=mid-1;
      }else if{
        left=mid+1;
        }else{
          return mid;
      }
    }
      return -1;
  }
}

27.移除元素
给你一个数组 nums和一个值 val,你需要原地移除所有数值等于val的元素。元素的顺序可能发生改变。然后返回nums中与val不同的元素的数量。
思路:定义两个指针用来对数组操作,当fast指针指向的元素不等于val时;更新slow指针

  class Solution{
    public int removeElement(int[] nums,int val){
      int slow=0;
      for(int fast=0;fast<nums.length;fast++){
        if(nums[fast]!=val){
          nums[slow]=nums[fast];
          slow++;
      }
    }
      return slow;
  }
}

977.有序数组的平方
给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。nums=[-4,-3,-2,0,1,2,5]
思路:由于题目是要按非递减顺序排序,定义两个指针从左右两边开始往中间靠拢。

class Solution{
  public int[] sortedSquares(int[] nums){
    
}
  }

标签:right,val,nums,int,mid,day1,链表,数组
From: https://www.cnblogs.com/CyfS1mple/p/18310633

相关文章

  • 稀疏数组
    基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:1.记录数组一共有几行几列,有多少个不同的值2.把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模应用实例1.使用稀疏数组,来保留类似棋盘......
  • 【c语言】数组
    一:数组的概念数组是⼀组相同类型元素的集合;•数组中存放的是1个或者多个数据,但是数组元素个数不能为0。•数组中存放的多个数据,类型是相同的。二:⼀维数组的创建和初始化1.数组创建存放在数组的值被称为数组的元素,数组在创建的时候可以指定数组的⼤⼩和数组的元素类型。......
  • 代码随想录训练营 Day4打卡 链表part02 24. 两两交换链表中的节点 19.删除链表的倒数
    代码随想录训练营Day4打卡链表part02一、力扣24.两两交换链表中的节点给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。示例1:输入:head=[1,2,3,4]输出:[2,1,4,3]算法思路:引入虚......
  • 《算法笔记》总结No.10——链表
        从第10期破例插叙一期单链表的实现,这个东东相当重要!考研的同学也可以看:相较于王道考研的伪码不太相同,专注于可以运行。如果是笔试中的伪码,意思正确即可~ 注:博主之前写过一个版本的顺序表和单链表的C++实现,和这篇的写法有所不同,不过内容也较全,大家可以先行阅读~......
  • 1186. 删除一次得到子数组最大和 Medium
    给你一个整数数组,返回它的某个 非空 子数组(连续元素)在执行一次可选的删除操作后,所能得到的最大元素总和。换句话说,你可以从原数组中选出一个子数组,并可以决定要不要从中删除一个元素(只能删一次哦),(删除后)子数组中至少应当有一个元素,然后该子数组(剩下)的元素总和是所有子数组之中......
  • 初阶数据结构的实现2 双向链表
    1.双向链表1.1概念与结构1.2实现双向链表1.2.1定义程序目标#define_CRT_SECURE_NO_WARNINGS1#pragmaonce#include<stdio.h>#include<assert.h>#include<stdlib.h>#include<stdbool.h>typedefintLTDateType;//定义双向链表结构typedefstructListNode{......
  • 蓝桥杯单片机学习(Day14 实现操作外部开启中断)
    外部中断相关寄存器的配置方法和触发方式:        实验配置:    [email protected],J3跳线配置为IO方式,J5配置为BTN、J2配置为1-3和2-4。配置方法:        EX0、IT0负责外部中断0服务函数的开启其中断服务函数优先级为interrupt0,EX1、IT1负责......
  • 蓝桥杯单片机学习(Day13 矩阵键盘 )
    现象:            按键S7、S11、S15、S19数码管显示00-03      按键S6、S10、S14、S18数码管显示04-07      按键S5、S9、S13、S17数码管显示08-11      按键S4、S8、S12、S16数码管显示12-15矩阵键盘介绍:    注......
  • DAY11
    for循环packagecom.drumk.struct;/*1*1=11*2=22*2=41*3=32*3=63*3=91*4=42*4=83*4=124*4=161*5=52*5=103*5=154*5=205*5=251*6=62*6=123*6=184*6=245*6=306*6=361*7=72*7=143*7=214*7=285*7=356*7=427*7=491*8=82*8=163*8=244*8=325*8=40......
  • Leetcoede编程基础0到1——459.重复的子字符串 & 283.移动零 &1822.数组元素积的符号
    459.重复的子字符串给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。示例1:输入:s="abab"输出:true解释:可由子串"ab"重复两次构成。示例2:输入:s="aba"输出:false示例3:输入:s="abcabcabcabc"输出:true解释:可由子......