Cracking The Coding Interview 2.5

2023-11-30 19:39
文章标签 2.5 coding interview cracking

本文主要是介绍Cracking The Coding Interview 2.5,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这题的思想来自于http://hawstein.com/posts/2.5.html,重新实现了一下

用hash来记录循环的起点


//Given a circular linked list, implement an algorithm which returns node at the beginning of the loop.//DEFINITION//Circular linked list: A (corrupt) linked list in which a node’s next pointer points to an earlier node, so as to make a loop in the linked list.//EXAMPLE//Input: A -> B -> C -> D -> E -> C [the same C as earlier]#include <iostream>
#include <map>
using namespace std;typedef struct node{int data;node *next;
}node;node* init(int a[], int n, int m){node *head, *p, *q;for(int i=0; i<n; ++i){node *nd = new node();nd->data = a[i];if(i==m) q = nd;if(i==0){head = p = nd;continue;}p->next = nd;p = nd;}p->next = q;return head;
}map<node *, bool> st;
node * getLoopStart(node *head)
{node *p =head->next;while(p){if (st[p] != true){st[p] = true;p=p->next;}elsereturn p;}return p;
}int main(){int n = 10, m = 9;// m<nint a[] = {3, 2, 1, 3, 5, 6, 2, 6, 3, 1 };node *head = init(a, n, m);//node *p = loopstart(head);node *p2 = getLoopStart(head);if(p2)cout<<p2->data<<endl;return 0;
}


这篇关于Cracking The Coding Interview 2.5的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/438293

相关文章

最便宜的8口2.5G网管交换机! 水星SE109 Pro拆机测评

《最便宜的8口2.5G网管交换机!水星SE109Pro拆机测评》水星SE109Pro价格很便宜,水星SE109Pro,外观、接口,和SE109一样,区别Pro是网管型的,下面我们就来看看详细拆... 听说水星SE109 Pro开卖了,PDD卖 220元,于是买回来javascript拆机看看。推荐阅读:水

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

【算法:二分查找】java算法二分查找,如何通过二分查找找到重复元素的第一个,coding

二分查找算法,是基于有序的结果集进行查询的 二分查找的时间复杂度是O(logN) 写一段二分查询的代码: public static void main(String[] args) {int[] data = new int[]{1, 2, 3, 3, 5, 5, 6, 8, 9, 9, 10};int queryData = 5;int index = queryDataIndex(qu

2.5 SQL注入之文件读写

SQL注入之文件读写 文件读写注入的原理 就是利用文件的读写权限进行注入,它可以写入一句话木马,也可以读取系统文件的敏感信息。 文件读写注入的条件 高版本的MYSQL添加了一个新的特性secure_file_priv,该选项限制了mysql导出文件的权限 secure_file_priv选项 linuxcat etc/confwinwww/mysql / my.ini show

Cracking the Safe

原题链接:https://leetcode.cn/problems/cracking-the-safe/description/ 题目要求的是,某个时刻能够打开保险箱的任一最短密码序列,需要包含所有密码子串。 答案应当是一个字符串,任意长度为n的子串的都是一种密码方案。 对于有n位,每位k种方案的密码串,共有k^n个。 题目要求最短,那么任意位置选出的子串应当是不重复的。 也就是说,一个

java中,HashMap为什么每次扩容的倍数是2,而不是1.5或者2.5?

本文为转载文章,部分位置加入了个人对原文的理解 原文:https://www.zhihu.com/question/422840340/answer/1494603694 来源:知乎   一、前言二、HashCode为什么使用31作为乘数 1. 固定乘积31在这用到了2. 来自stackoverflow的回答3. Hash值碰撞概率统计4. Hash值散列分布   三、HashMap 数据

《WEB开发-HEXO博客搭建》第4章 同步到Coding

笔者博客地址 1.注册Coding.net账号 Coding官网:https://coding.net/ 【注意】如果不想花钱的话要绑定腾讯云可以免费升级,笔者使用的是绑定腾讯云升级的。 图1 2.新建项目 注意项目名与注册用的账户名一致,这里我用的是ouxiaolong。 图2 图3 3.添加公钥 上面设置完毕之后点击创建项目,然后点击设置->部署公钥->新建

Hadoop入门之Hadoop-2.5.0源码编译

一、 为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通过本地库,Hadoop可以更加高效地执行某一些操作。 native目录是本地库,位于hadoop-2.x.x/lib/native目录下,仅支持Linux和unix操作系统。 hadoop中的zlib和gz

代码规范工具大比拼---Alibaba Java Coding Guidelines

代码规范工具大比拼---Alibaba Java Coding Guidelines   一,序言        对于代码规范的工具,市场上有很多很多, 我们常常说:”工欲善其事必先利其器”, 一个非常强大的代码检查工具, 能让很多代码实践者减少很多多不必要的小错误,尤其是对于一个团队来说,能较好的统一代码规则.   二,详情    1,Sonar

InternLM 2.5 书生·浦语 开源大模型本地部署体验

老牛同学之前偶尔刷到过InternLM大模型相关的介绍文章,因为在老牛同学心中,Qwen2千问才是国内开源模型中最适合自己的大模型,原因是自己在本地部署和应用Qwen2都非常满意,所以没有在意InternLM大模型,也就没有动力去了解它。 今天老牛同学又刷到InternLM大模型发布1.8B新开源版本的文章,同时还知道了书生·浦语是它的中文名。因老牛同学在上海生活了十几年了,当看到浦字时有点敏感