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

开一个网站需要多少钱网站开发工作量评估

开一个网站需要多少钱,网站开发工作量评估,wordpress付费破解版,淘宝网站建设 推广 上海[ 题目描述 ]: [ 思路 ]: 题目要钱创建一个新的和给出链表相同的链表,val 和 next 的复制比较简单,关键在于 random 的复制先复制一个 random 不变的新链表,然后通过他在旧链表中的位置,去锁定新链表中 n…

[ 题目描述 ]:
在这里插入图片描述
[ 思路 ]:

  • 题目要钱创建一个新的和给出链表相同的链表,val 和 next 的复制比较简单,关键在于 random 的复制
  • 先复制一个 random 不变的新链表,然后通过他在旧链表中的位置,去锁定新链表中 next 需要指向的位置
  • 运行如下
    在这里插入图片描述
struct Node* copyRandomList(struct Node* head) {if (!head) return NULL;struct Node* old_nodes[1000];struct Node* new_nodes[1000];int count = 0;struct Node* cur = head;struct Node* copy_head = NULL;struct Node* prev = NULL;while (cur) {struct Node* new_node = (struct Node*)malloc(sizeof(struct Node));new_node->val = cur->val;new_node->next = NULL;new_node->random = cur->random;if (prev)prev->next = new_node;elsecopy_head = new_node;old_nodes[count] = cur;new_nodes[count] = new_node;count++;prev = new_node;cur = cur->next;}for (int i = 0; i < count; i++) {if (new_nodes[i]->random) {for (int j = 0; j < count; j++) {if (old_nodes[j] == new_nodes[i]->random) {new_nodes[i]->random = new_nodes[j];break;}}} else {new_nodes[i]->random = NULL;}}return copy_head;
}

[ 官方题解 ]:

  • 方法一:回溯 + 哈希表,用哈希表记录每一个节点对应新节点的创建情况。遍历该链表的过程中,检查「当前节点的后继节点」和「当前节点的随机指针指向的节点」的创建情况。如果这两个节点中的任何一个节点的新节点没有被创建,我们都立刻递归地进行创建。当拷贝完成,回溯到当前层时,即可完成当前节点的指针赋值。注意一个节点可能被多个其他节点指向,因此可能递归地多次尝试拷贝某个节点,为了防止重复拷贝,需要首先检查当前节点是否被拷贝过,如果已经拷贝过,可以直接从哈希表中取出拷贝后的节点的指针并返回即可
struct HashTable {struct Node *key, *val;UT_hash_handle hh;
} * cachedNode;struct Node* deepCopy(struct Node* head) {if (head == NULL) {return NULL;}struct HashTable* tmp;HASH_FIND_PTR(cachedNode, &head, tmp);if (tmp == NULL) {struct Node* headNew = malloc(sizeof(struct Node));headNew->val = head->val;tmp = malloc(sizeof(struct HashTable));tmp->key = head, tmp->val = headNew;HASH_ADD_PTR(cachedNode, key, tmp);headNew->next = deepCopy(head->next);headNew->random = deepCopy(head->random);}return tmp->val;
}struct Node* copyRandomList(struct Node* head) {cachedNode = NULL;return deepCopy(head);
}
http://www.dtcms.com/a/586171.html

相关文章:

  • [SPSS] SPSS数据的保存
  • Verilog中+:和 -:
  • 清理空壳网站做网站的程序员工资大约月薪
  • 架构设计:基于拼多多 API 构建商品数据实时同步服务
  • 常州建设局下属网站深圳市住房和建设局高泉
  • SQL时间函数全解析从基础日期处理到高级时间序列分析
  • 单片机通信协议--USART(串口通信)
  • 1.21 Profiler提供的API
  • 网站建设维护的知识wordpress搜索被攻击
  • 网站的文件夹wordpress引导页
  • 自然语言处理实战——基于k近邻法的文本分类
  • 柳南网站建设珠海市横琴建设局网站
  • 11.8 脚本网页 塔防游戏
  • FreeRTOS 使用目录
  • 网站代码框架云南安宁做网站的公司
  • 企业网站源码简约郑州住房城乡建设官网
  • 研发地网站建设第三次网站建设的通报
  • 企业网站分为哪四类中国与俄罗斯最新局势
  • 为什么最近好多网站维护企业所得税优惠政策2021年小微企业
  • Java基础——集合进阶2
  • Git 中 behind 和 ahead of 含义详解:分支同步状态一眼看透
  • 青岛公司建站婚纱网
  • 深入解析 LeetCode 1470:重新排列数组
  • 第23集科立分板机:自动分板机操作规范指南
  • 基于ZYNQ的软硬件协同加速实时高清视频处理系统:从概念到实现
  • Linux 软链接与硬链接详解:Android 系统源码开发实战指南
  • ModelScope使用技巧总结详解
  • 手机网站自动适配二手电商怎么做
  • 定积分的几何应用(一):平面图形面积计算详解
  • Kubernetes V1.24+ Docker运行时 grafana容器指标显示异常