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

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

题单分类: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;}
}

344 

344. 反转字符串 - 力扣(LeetCode)

        笑死了

   List<char> chars = new List<char>(s);chars.Reverse();for (int i = 0; i < chars.Count; i++){s[i] = chars[i];}}

        不要再狐闹了

    int Left = 0;int Right = s.Length - 1;char temp ;while (Left<Right){temp = s[Left];s[Left] = s[Right];s[Right] = temp;Left++;Right--;}


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

相关文章:

  • [C语言笔记]07、数组
  • 数据结构--【栈与队列】笔记
  • 【自学笔记】MoonBit语言基础知识点总览-持续更新
  • WPF 与 GMap.NET 结合实现雷达目标动态显示与地图绘制
  • Android SharedPreference 详解
  • UVC摄像头命令推流,推到rv1126里面去
  • 各种attention mode有什么区别?
  • 边缘 AI 探索:EdgeOne 借力 DeepSeek R1 加速落地
  • AI 大模型统一集成|让 AI 聊天更丝滑:WebSocket 实现流式对话!
  • 变量赋值汇编
  • 二分查找易错点分析报告
  • 图论·拓扑排序
  • 多数元素——面试经典150题(力扣)
  • Leetcode 刷题笔记1 动态规划part08
  • 【原创】springboot+vue智能办公管理系统设计与实现
  • 学习springboot-Bean管理(Bean 注册,Bean 扫描)
  • ESP-IDF ubuntu版本 V5.2
  • react实现一个列表的拖拽排序(react实现拖拽)
  • Kotlin和Java区别
  • 达梦主备集群部署