博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python面试题(一)
阅读量:4946 次
发布时间:2019-06-11

本文共 1874 字,大约阅读时间需要 6 分钟。

######最近因为找工作,所以在牛客网上刷了一些题,想在博客上记录下来自己的想法~

######写的不好还请大家多指教。

 

1. [二维数组中的查找] 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

1 #-*- coding:utf-8 -*- 2 #Author: Bing Xu 3  4 def Find(target, array): 5     if (len(array) - 1 == 0) and (len(array[0]) == 0):  # 数组为空直接返回false 6         return False 7     for i in range(len(array)):    # 开始遍历数组 8         if target <= array[i][-1]:  # 如果target小于等于这一行的最后一个元素,那么target可能在这一行中 9             if target < array[i][0]:    # 如果target小于这一行的第一个元素,返回false10                 return False11             for j in range(len(array[i])):  # 遍历target可能存在的这一行12                 if array[i][j] == target:13                     return True14     return False   # 经过了所有的遍历还是没有找到,则说明不在此数组中

 

2.[旋转数组的最小数字把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。

1 #-*- coding:utf-8 -*- 2 #Author: Bing Xu 3  4 def Find_min(list): 5     if len(list) == 0:  # 先确保是非空列表 6         return 0 7     for i in range(len(list)):   8         if list[i]-list[-i-1] < 0:  # 用第i个元素减去倒数第i个元素,如果答案小于0,那么可能是:(1)未旋转部分最大值[i]作了被减数, 9                                     # 那么倒数第i-1个数为min(2)旋转部分最小值[i]作了减数,10             if list[i] < list[-(i-1)-1]:    # 这时只要判断这两个数那个小哪个就是min11                 return list[i]12             else:13                 return list[-(i-1)-1]

 

3.[从尾到头打印链表输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。

# -*- coding:utf-8 -*-# class ListNode:#     def __init__(self, x):#         self.val = x#         self.next = None class Solution:    # 返回从尾部到头部的列表值序列,例如[1,2,3]    def printListFromTailToHead(self, listNode):        list = []        while listNode:    # 遍历列表            list.insert(0,listNode.val)    # 用insert实现倒叙            listNode = listNode.next        return list

 

转载于:https://www.cnblogs.com/Infinite-bing/p/10670136.html

你可能感兴趣的文章
[spring-boot] 健康状况监控
查看>>
Android 生命周期
查看>>
B. Complete the Word(Codeforces Round #372 (Div. 2)) 尺取大法
查看>>
Codeforces Round #540 (Div. 3)题解
查看>>
css选择器,伪类和伪元素的区别
查看>>
Linux系统调优及安全设置
查看>>
页面不可编辑
查看>>
oracle安装数据库中文乱码解决办法
查看>>
Keepalived 的使用
查看>>
Zabbix-微信报警
查看>>
小学奥数 蓄水池水管问题
查看>>
牛客网编程练习之PAT乙级(Basic Level):1032 选大王
查看>>
wamp虚拟路径访问配置
查看>>
360隐私保护器直指腾讯QQ 360真的发飙了,百度旁观!
查看>>
日常学习问题博客整理
查看>>
Ecstore Linux服务器环境基本配置
查看>>
Python PEP8 编码规范 注释
查看>>
面朝大海 春暖花开
查看>>
chkconfig 添加脚本开机自启动
查看>>
比较好的工作环境
查看>>