同程笔试 同程秋招 同程笔试题 0925

笔试时间:2025年5月4日

往年笔试合集:

2023春招秋招笔试合集

2024春招秋招笔试合集

第一题:移除数组中指定的元素

题目描述: 给你一个数组和一个值,原地移除所有数值等于该值的元素,并返回移除后数组的新长度。要求不使用额外的数组空间,必须仅使用 O(1) 额外空间并原地修改输入数组。

输入描述

一个整数数组和一个需要移除的目标值

输出描述

移除指定元素后数组的新长度

样例输入

nums = [3,2,2,3], val = 3

样例输出

2

参考题解

解题思路:使用"快慢指针"的思想来解决问题:

  1. 设置一个慢指针 position,它指向下一个应该存放非目标元素的位置
  2. 设置一个快指针 iterator,它负责遍历整个数组
  3. 当快指针指向的元素不是要移除的值时,就将该元素复制到慢指针所在的位置,然后慢指针向后移动一位
  4. 如果快指针指向的元素是要移除的值,则快指针继续向后移动,而慢指针保持不动
  5. 遍历结束后,慢指针 position 的值就是数组中非目标元素的数量

C++:

class Solution {
public:
    int removeElement(vector<int>& data, int valueToRemove) {
        int position = 0;
        for (int iterator = 0; iterator < data.size(); iterator++) {
            if (data[iterator] != valueToRemove) {
                data[position] = data[iterator];
                position++;
            }
        }
        return position;
    }
};

Java:

class Solution {
    public int removeElement(int[] data, int valueToRemove) {
        int position = 0;
        for (int iterator = 0; iterator < data.length; iterator++) {
            if (data[iterator] != valueToRemove) {
                data[position] = data[iterator];
                position++;
            }
        }
        return position;
    }
}

Python:

class Solution:
    def removeElement(self, data: List[int], valueToRemove: int) -> int:
        position = 0
        for iterator in range(len(data)):
            if data[iterator] != valueToRemove:
                data[position] = data[iterator]
                position += 1
        return position

第二题:删除子文件夹

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

2025 春招笔试合集 文章被收录于专栏

2025打怪升级记录,大厂笔试合集 C++, Java, Python等多种语言做法集合指南

全部评论

相关推荐

LastWh1spe...:ssob真有些人和那个没睡醒一样
点赞 评论 收藏
分享
02-01 12:05
复旦大学 Java
腾讯的提前批大概率应该是没有笔试的,但是这个时候有相当部分的同学简历估计都没有准备好,没准备好的同学也不用急,大部分都是3月之后开,这个时候开的绝大多数都是神仙打架,问的东西也比较难,打算投递的同学也多看下计算机网络和操作系统,腾讯对这部分的知识问的比较多。另外多刷下牛客的热门题库,刷题注意刷ACM模式,和牛客的周赛题,腾讯有的部门会从这里面出原题。我是@程序员花海关注我,带你了解更多校招资讯!
程序员花海:还没有来得及准备的同学可以看下学习路线:https://www.nowcoder.com/discuss/824693499982315520?sourceSSR=users算法题:https://www.nowcoder.com/feed/main/detail/20e7a999fa04485b88340a274411ca0d?sourceSSR=users八股文:https://www.nowcoder.com/discuss/833102362771251200?sourceSSR=users简历书写方式:https://www.nowcoder.com/discuss/839907820706205696?sourceSSR=users都是以前在牛客发的文章~
软开人,秋招你打算投哪些...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务