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

C语言 | Leetcode C语言题解之第384题打乱数组

题目:

题解:

typedef struct {int* num;int* src;int numsize;
} Solution;Solution *obj = NULL;Solution* solutionCreate(int* nums, int numsSize) {if (obj != NULL) {return obj;}Solution *obj = (Solution*)malloc(sizeof(Solution));obj->numsize = numsSize;//obj->num = (int*)malloc(sizeof(int) * numsSize);obj->num = nums;obj->src = (int*)malloc(sizeof(int) * numsSize);for (int i = 0; i < obj->numsize; i++) {// obj->num[i] = nums[i];obj->src[i] = nums[i];}return obj;
} int* solutionReset(Solution* obj, int* retSize) {*retSize = obj->numsize;return obj->num;/*int *ans = (int*) malloc(sizeof(int) * obj->numsize);for (int i = 0; i < obj->numsize; i++) {ans[i] = obj->num[i];}return ans;*/
}int* solutionShuffle(Solution* obj, int* retSize) {*retSize = obj->numsize;/*int *ans = (int*) malloc(sizeof(int) * obj->numsize);for (int i = 0; i < obj->numsize; i++) {ans[i] = obj->num[i];}*/for (int i = 0; i < obj->numsize; i++) {int k = (rand() % obj->numsize);int temp = obj->src[k];obj->src[k] = obj->src[i];obj->src[i] = temp;}return obj->src;
}void solutionFree(Solution* obj) {free(obj->num);free(obj->src);free(obj);obj = NULL;
}/*** Your Solution struct will be instantiated and called as such:* Solution* obj = solutionCreate(nums, numsSize);* int* param_1 = solutionReset(obj, retSize);* int* param_2 = solutionShuffle(obj, retSize);* solutionFree(obj);
*/

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 五、代理模式
  • E1.S接口如何解决SSD过热问题?
  • AI问答-协议-上传协议:FTP、FTPS、SFTP
  • 【算法 动态规划 简单多状态 dp 问题】打家劫舍题型
  • 第十七章 rust异步库tokio入门
  • Web安全之XSS跨站脚本攻击
  • Jmeter执行多机联合负载
  • 【Ubuntu22.04】搭建Android开发环境
  • npm登录
  • 做短视频素材哪里找?10个自媒体必备的短视频素材网站分享给你
  • webpack-01
  • Java 面试题:事务隔离级别以及并行事务会出现什么问题怎么解决脏读、不可重复读和幻读问题 --xunznux
  • python3兼容python2吗
  • js中数组的定义及使用
  • HBase 源码阅读(二)
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • bootstrap创建登录注册页面
  • Joomla 2.x, 3.x useful code cheatsheet
  • laravel5.5 视图共享数据
  • mongo索引构建
  • MySQL QA
  • Protobuf3语言指南
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • SpriteKit 技巧之添加背景图片
  • STAR法则
  • tensorflow学习笔记3——MNIST应用篇
  • vue2.0项目引入element-ui
  • Zsh 开发指南(第十四篇 文件读写)
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 利用DataURL技术在网页上显示图片
  • 什么软件可以剪辑音乐?
  • 协程
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • ​zookeeper集群配置与启动
  • # include “ “ 和 # include < >两者的区别
  • #VERDI# 关于如何查看FSM状态机的方法
  • (3)(3.5) 遥测无线电区域条例
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (三)模仿学习-Action数据的模仿
  • (五)MySQL的备份及恢复
  • (转)iOS字体
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .“空心村”成因分析及解决对策122344
  • .NET C# 操作Neo4j图数据库
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET Core引入性能分析引导优化
  • .net Signalr 使用笔记
  • .Net Web窗口页属性
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .NET编程——利用C#调用海康机器人工业相机SDK实现回调取图与软触发取图【含免费源码】