首页 > 其他分享 >day1打卡

day1打卡

时间:2024-08-16 11:27:26浏览次数:12  
标签:nums int mid day1 high -- 打卡 size

704:二分查找

题目链接:https://leetcode.cn/problems/binary-search/
这个还是比较简单的
int search(vector& nums, int target)
{
int low = 0;
int high = nums.size() - 1;
int mid = (low + high) / 2;
while(nums[mid] != target || low >= high)
{
if(nums[mid] < target)
{
low = mid + 1;
mid = (low + high) / 2;
}
else
{
high = mid - 1;
mid = (low + high) / 2;
}
}
return nums[mid]
}
27 移除元素
题目链接:https://leetcode.cn/problems/remove-element/

  1. 暴力解法
    能自己写,但是有些细节还不太对,想了一下为什么需要i--,因为for循环里面操作执行完了之后,i++,但是数组又向前移了,所以需要i--
    int removeElement(vector& nums, int val) {
    int size = nums.size();
    for(int i = 0; i < size; ++i)
    {
    if(nums[i] == val)
    {
    for(int j = i +1; j < size; ++j)
    {
    nums[j-1] = nums[j];
    }
    size--;
    i--;
    }
    }
    return size;

    }

997 有序数组的平方
双指针法,看了讲解之后尝试自己写
nt i = 0;
int j = A.size() - 1;
vector result(A.size(), 0);
int k = result.size() - 1;
for(;i <= j;)
{
int left = A[i] * A[i];
int right = A[j] * A[j];
if(left < right)
{
result[k--] = right;
j--;
}
else
{
result[k--] = left;
i++;
}
}
return result;

  1. 双指针法
    一开始尝试自己写,然后想法不对
    int removeElement(vector& nums, int val)
    {
    int slow = 0;
    int fast = 0;
    for(; fast < nums.size(); fast++)
    {
    if(nums[fast] != val)
    {
    nums[slow++] = nums[fast];
    }
    }

标签:nums,int,mid,day1,high,--,打卡,size
From: https://www.cnblogs.com/pwangikun/p/18362528

相关文章

  • 代码随想录Day16
    513.找树左下角的值给定一个二叉树的根节点root,请找出该二叉树的最底层最左边节点的值。假设二叉树中至少有一个节点。示例1:输入:root=[2,1,3]输出:1示例2:输入:[1,2,3,4,null,5,6,null,null,7]输出:7提示:二叉树的节点个数的范围是[1,104]-231<=......
  • 输出流FileOutputStream day16
    packagecom.shujia.day16.ketang;importjava.io.File;importjava.io.FileOutputStream;/*IO流:输入输出流按照流向划分:输入流:将外部存储数据-->java输出流:java-->外部存储工具中按照类型划分:字节流(万......
  • C语言学习笔记 Day13(复合类型/自定义类型)
    Day13 内容梳理:目录Chapter9 复合类型(自定义类型)9.1结构体(1)结构体变量定义、初始化(2)嵌套结构体(3)结构体赋值(4)结构体和指针(5)结构体做函数参数9.2共用体(联合体)9.3枚举9.4typedef关键字Chapter9 复合类型(自定义类型)9.1结构体有时需要将不同类型的数组......
  • 打卡信奥刷题(563)用Scratch图形化工具信奥B2078[普及组/提高] 含 k 个 3 的数
    含k个3的数题目描述输入两个正整数mmm和kkk,其中......
  • 代码随想录Day15
    110.平衡二叉树(优先掌握递归)给定一个二叉树,判断它是否是平衡二叉树平衡二叉树是指该树所有节点的左右子树的深度相差不超过1。示例1:输入:root=[3,9,20,null,null,15,7]输出:true示例2:输入:root=[1,2,2,3,3,null,null,4,4]输出:false示例3:输入:root=[]输出:t......
  • 集合的工具类:Collections day15
    packagecom.shujia.day15;importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;/*java提供了专门操作集合的工具类:Collections静态成员方法:publicstatic<T>voidsort(List<T>list)对List集合进行升序......
  • 异常以及处理方案 day15
    /*异常:java程序编译或者运行时遇到的错误java中的异常分为3种:Throwable:Error:错误Exception:编译时期异常RuntimeException(运行时期异常)举例,该例子仅上课使用,如现实生活遇到,概不负责。魏一民想要去大蜀山,......
  • HashMap和Hashtable的区别 day15
    /*Map:存储元素的特点是每一个元素是一个键值对{【name:"魏一民"】,【age:18】}Map集合的共同拥有的特点:1、Map集合中的元素,键是唯一的,不会在一个Map集合发现两个相同的键1001:魏一民1002:陈真1001:小虎2......
  • 代码随想录Day14
    226.翻转二叉树给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。示例1:输入:root=[4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例2:输入:root=[2,1,3]输出:[2,3,1]示例3:输入:root=[]输出:[]提示:树中节点数目范围在[0,100]内-100<=Node.val<=100......
  • HashSet底层add方法去重例题 day14
    测试类packagecom.shujia.day14;importjava.util.HashSet;/*使用Set集合存储自定义对象,当对象的姓名和年龄都一样的时候,将这两个对象认为是重复了,进行去重HashSet:底层数据结构是哈希表*/publicclassSetDemo2{publicstaticvoidmain(String[]ar......