八戒m-y 2023-12-20 15:26 采纳率: 52.6%
浏览 8
已结题

数据结构中如何实现将顺序表中值为x的元素移动到顺序表的后半部分,要求时间复杂度为O(n)空间复杂度为O(1)

img


**

数据结构中如何实现将顺序表中值为x的元素移动到顺序表的后半部分,要求时间复杂度为O(n)空间复杂度为O(1)

**

  • 写回答

1条回答 默认 最新

  • 无序繁星 2023-12-20 16:04
    关注

    如果没有要求其他元素保持原顺序,以下代码可以满足要求

    void move(int nums[], int length, int target) {
        int slow = length - 1;
        int fast = length - 1;
        while (fast >= 0) {
            if (nums[fast] == target) {
                int temp = nums[fast];
                nums[fast] = nums[slow];
                nums[slow] = temp;
                slow--;
            }
            fast--;
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月28日
  • 已采纳回答 12月20日
  • 创建了问题 12月20日

悬赏问题

  • ¥20 visual studio中c语言用ODBC链接SQL SERVER
  • ¥50 AI大模型精调(百度千帆、飞浆)
  • ¥15 非科班怎么跑代码?如何导数据和调参
  • ¥15 福州市的全人群死因监测点死亡原因报表
  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下
  • ¥500 服务器搭建cisco AnyConnect vpn
  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊
  • ¥15 快速扫描算法求解Eikonal方程咨询