当前位置: 首页 > news >正文

[Ai 力扣题单] 数组基本操作篇 27/704

题单分类:DeepSeek刷力扣辅助题单 存留记录-CSDN博客 

27 

27. 移除元素 - 力扣(LeetCode)

        这道题就一个点

        1.数组在内存上连续 所以要么赋值覆盖,要么移动覆盖,但是它要求了前 k 个元素 所以只能移动覆盖

        所以我有了如下思考过程:

        3223 , 3举例

        如果是判断相等:nums[i]=val 然后nums[i]=nums[i+1]向前覆盖,会产生越界

        如果是判断不等,i会从2开始,然后nums[i]=nums[i+1]向前覆盖 还是会越界      

        所以问题出在了nums[i]=nums[i+1]这里,如果有一个新的变量指向前一个数 不出现i+1就好了,然后就出来了,所谓的双指针

public class Solution {public int RemoveElement(int[] nums, int val) {int k = 0;for (int i = 0; i < nums.Length; i++) {if (nums[i] != val) {nums[k] = nums[i];k++;}}return k;}
}

704 

704. 二分查找 - 力扣(LeetCode)

不可能这么简单

static int Search(int[] nums, int target)
{for (int i = 0; i < nums.Length; i++){if (nums[i] == target) {return i;}}return -1;
}

所以我想标题写了二分查找 那我就二分查🤯

没有要点,但是有一个小点C# int浮点数向下取整

public class Solution {public int Search(int[] nums, int target) {//二分查找int Left = 0;int Right = nums.Length - 1;while (Left <= Right) {int mid = Left + (Right - Left) / 2;//中间比if (nums[mid] == target)return mid;if (nums[mid] > target){Right = mid - 1;}else {Left = mid + 1;} }return -1;}
}


http://www.mrgr.cn/news/94102.html

相关文章:

  • 考研数学复习之定积分定义求解数列极限(超详细教程)
  • MySQL 里的“锁”:保护数据的门卫
  • 蓝桥杯备赛-基础训练(四)字符串 day17
  • 【cocos creator】热更新
  • 算法手记1
  • 蓝桥杯练题顺序
  • 【菜鸟飞】Conda安装部署与vscode的结合使用
  • 使用pnpm管理前端项目依赖
  • Docker 入门与实战指南
  • 【eNSP实战】交换机配置端口隔离
  • P8683 [蓝桥杯 2019 省 B] 后缀表达式
  • 【ISP】对于ISP的关键算法补充
  • Ubuntu 24.04.2 允许 root 登录桌面、 ssh 远程、允许 Ubuntu 客户机与主机拖拽传递文件
  • Redis-缓存穿透击穿雪崩
  • 基于Harbor构建docker私有仓库
  • 静态路由实验
  • 【性能测试入门_01性能测试jmeter基础实操场景详解】
  • 使用 React 和 Ant Design 处理 Excel 和 CSV 文件
  • Linux内核实时机制19 - RT调度器2 - 更新时间 update_curr_rt
  • MySQL中有哪些索引