京东笔试编程题_第1页
京东笔试编程题_第2页
京东笔试编程题_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

京东笔试编程题编程题1:两数之和题目描述:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数,并返回它们的下标。假设每个输入只对应一个答案,且同样的元素不能被重复利用。解题思路:可以利用哈希表来存储每个元素的索引以及对应的值,然后遍历数组,对于每个元素,判断目标值与当前元素的差值是否在哈希表中,如果在,则返回对应的索引。如果不在,则将当前元素的索引和值存入哈希表中,继续遍历。实现代码如下:```pythondeftwo_sum(nums,target):hashmap={}fori,numinenumerate(nums):complement=target-numifcomplementinhashmap:return[hashmap[complement],i]hashmap[num]=ireturnNonenums=[2,7,11,15]target=9print(two_sum(nums,target))#Output:[0,1]```以上代码通过一次遍历即可找到符合条件的两个数的下标,并返回结果。编程题2:判断链表是否有环题目描述:给定一个链表,判断链表中是否有环。解题思路:可以使用快慢指针的方法来判断链表中是否有环。快指针每次移动两步,慢指针每次移动一步,如果链表中存在环,那么快指针一定会在某个时刻与慢指针相遇。如果快指针到达链表的末尾(即指针指向None),则链表中不存在环。实现代码如下:```pythonclassListNode:def__init__(self,x):self.val=xself.next=Nonedefhas_cycle(head):ifnotheadornothead.next:returnFalseslow=headfast=head.nextwhileslow!=fast:ifnotfastornotfast.next:returnFalseslow=slow.nextfast=fast.next.nextreturnTrue#构建一个有环的链表head=ListNode(3)head.next=ListNode(2)head.next.next=ListNode(0)head.next.next.next=ListNode(-4)head.next.next.next.next=head.nextprint(has_cycle(head))#Output:True```以上代码通过快慢指针

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论