Python答题:LinteCode简单题库(一)

366. 斐波纳契数列:查找斐波纳契数列中第 N 个数。

所谓的斐波纳契数列是指:
前2个数是 0 和 1 。
第 i 个数是第 i-1 个数和第i-2 个数的和。
斐波纳契数列的前10个数字是:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...


给定 1,返回 0
给定 2,返回 1
给定 10,返回 34


参考答案:
def fibonacci(self, n):
# write your code here

i = 0
a,b =0, 1
while i < n-1:
a,b =b,a+b
i +=1
return a 

9. Fizz Buzz 问题 
给你一个整数n. 从 1 到 n 按照下面的规则打印每个数:


如果这个数被3整除,打印fizz.
如果这个数被5整除,打印buzz.
如果这个数能同时被3和5整除,打印fizz buzz.


比如 n = 15, 返回一个字符串数组:


[
  "1", "2", "fizz",
  "4", "buzz", "fizz",
  "7", "8", "fizz",
  "buzz", "11", "fizz",
  "13", "14", "fizz buzz"
]


参考答案:
def fizzBuzz(self, n):
# write your code here
result = []

for i in range(1,n+1):

if i %15 ==0:
result.append('fizz buzz')
elif i%5==0:
result.append('buzz')
elif i%3==0:
result.append('fizz')
else:
result.append(str(i))

return result




157. 判断字符串是否没有重复字符 
实现一个算法确定字符串中的字符是否均唯一出现


给出"abc",返回 true


给出"aab",返回 false


参考答案:
def isUnique(self, str):
results = []
new_results = []
for i in str:       
results.append(i)
for i in str:          
if i not in new_results:
new_results.append(i)
if results==new_results:
return True
else:
return False

172. 删除元素 
给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。


元素的顺序可以改变,并且对新的数组不会有影响。
给出一个数组 [0,4,4,0,0,2,4,4],和值 4
返回 4 并且4个元素的新数组为[0,0,0,2]


参考答案:
def removeElement(self, A, elem):
i = 0
n = len(A)
while i<n:
if A[i]==elem:
n-=1
del A[i]
else:
i+=1
return n

6. 合并排序数组 
合并两个排序的整数数组A和B变成一个新的数组。
给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]


参考答案:
def mergeSortedArray(self, A, B):
for i in range(len(A)):
B.append(A[i])
B = sorted(B)

return B

463. 整数排序 
给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。
对于数组 [3, 2, 1, 4, 5], 排序后为:[1, 2, 3, 4, 5]。


参考答案:
def sortIntegers(self, A):
n = len(A)
for i in range(n-1):
temp=i
for j in range(i+1,n):
if A[j]<A[temp]:
A[j],A[temp]=A[temp],A[j]

A[temp],A[i]=A[i],A[temp]

print(A)

100. 删除排序数组中的重复数字 
给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。


不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。
给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。


参考答案:
循环数组,找到下一个元素A[i+1]等于A[i],就删除A[i+1],
注意的是循环次数需要 -1,避免索引超限。
def removeDuplicates(self, A):
i = 0
while i < len(A)-1:
if A[i] == A[i+1]:
A.remove(A[i])
else:
i += 1
return len(A)

101. 删除排序数组中的重复数字 II 
跟进“删除重复数字”:
如果可以允许出现两次重复将如何处理?


参考答案:
允许重复一次,则直接检查元素A[i+2]是否等于A[i]即可,
因为如果A[i+2]等于A[i],那么A[i+1]也等于A[i],
此时删除A[i+2]即可。
当然,循环次数需要 -2
def removeDuplicates(self, nums):
i = 0
while i < len(nums)-2:
if nums[i] == nums[i+2]:
nums.remove(nums[i])
else:
i += 1
return len(nums)


2. 尾部的零 
设计一个算法,计算出n阶乘中尾部零的个数


11! = 39916800,因此应该返回 2


参考答案:
对于n!来说,每当有5,必出现一个零,所以其实计算n以内有多少个5即可。
if n == 0 : 
return 1
x = 1
while n>5:
x += n/5
n = n/5
return x-1




































本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/473582.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

天池 在线编程 扫雷(BFS)

文章目录1. 题目2. 解题1. 题目 描述 现在有一个简易版的扫雷游戏&#xff0c;你将得到一个n*m大小的二维数组作为游戏地图。 每个位置上有一个值&#xff08;0或1&#xff0c;1代表此处没有雷&#xff0c;0表示有雷&#xff09;。 你将获得一个起点的位置坐标&#xff08;x&a…

Linux搭建高并发高可用Redis集群

安装Redis Redis 是一个高性能的key-value数据库。常用作缓存服务器使用。 1. 下载redis安装包&#xff0c;redis-3.2.11.tar.gz&#xff08;http://download.redis.io/releases/redis-3.2.11.tar.gz&#xff09; > wget http://download.redis.io/releases/redis-3.2.11.…

Flink简介

1 什么是Flink Apache Flink 是一个框架和分布式处理引擎&#xff0c;用于在无边界和有边界数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行&#xff0c;并能以内存速度和任意规模进行计算。 它的主要特性包括&#xff1a;批流一体化、精密的状态管理、事件时间支…

Winform datagridview相关操作

datagridview显示行号的2种方法: 方法一&#xff1a; 网上最常见的做法是用DataGridView的RowPostPaint事件在RowHeaderCell中绘制行号&#xff1a; privatevoiddataGridView1_RowPostPaint(objectsender, DataGridViewRowPostPaintEventArgs e){try{e.Graphics.DrawString((e.…

天池 在线编程 旅行计划(暴力回溯)

文章目录1. 题目2. 解题1. 题目 描述 有n个城市&#xff0c;给出邻接矩阵arr代表任意两个城市的距离。 arr[i][j]代表从城市i到城市j的距离。Alice在周末制定了一个游玩计划&#xff0c;她从所在的0号城市开始&#xff0c;游玩其他的1 ~ n-1个城市&#xff0c;最后回到0号。 A…

初始化环境配置:CentOS 7.4x64 系统安装及基础配置

1.安装CentOS操作系统 ① 在进入系统引导后&#xff0c;会进入文字界面&#xff0c;选择install CentOS7 &#xff08;用键盘上的方向键↑、↓来选择要执行的操作&#xff0c;白色字体表示选中&#xff0c;按下回车&#xff0c;进入下一步操作&#xff09; ② 按回车执行安…

天池 在线编程 拿走瓶子(区间DP)

文章目录1. 题目2. 解题1. 题目 描述 有n个瓶子排成一列&#xff0c;用arr表示。 你每次可以选择能够形成回文连续子串的瓶子拿走&#xff0c;剩下的瓶子拼接在一起。 返回你能拿走所有的瓶子的最小次数。 n<500 arr[i]<1000示例 例1: 输入&#xff1a;[1,3,4,1,5] …

Flink运行时架构

1 运行时相关的组件 Flink运行时架构主要包括四个不同的组件&#xff1a;作业管理器&#xff08;JobManager&#xff09;、资源管理器&#xff08;ResourceManager&#xff09;、任务管理器&#xff08;TaskManager&#xff09;&#xff0c;以及分发器&#xff08;Dispatcher&a…

大型网站电商网站架构案例和技术架构的示例

大型网站架构是一个系列文档&#xff0c;欢迎大家关注。本次分享主题&#xff1a;电商网站架构案例。从电商网站的需求&#xff0c;到单机架构&#xff0c;逐步演变为常用的&#xff0c;可供参考的分布式架构的原型。除具备功能需求外&#xff0c;还具备一定的高性能&#xff0…

Spring JPA

http://files.cnblogs.com/weishuai90/spring.rar转载于:https://www.cnblogs.com/weishuai90/p/3567794.html

天池 在线编程 删除字符(单调栈)

文章目录1. 题目2. 解题1. 题目 描述 给定一个字符串str&#xff0c;现在要对该字符串进行删除操作&#xff0c; 保留字符串中的 k 个字符且相对位置不变&#xff0c;并且使它的字典序最小&#xff0c;返回这个子串。 示例 例1: 输入:str"fskacsbi",k2 输出:&quo…

Flink常见流处理API

Flink 流处理API的编程可以分为environment&#xff0c;source&#xff0c;transform&#xff0c;sink四大部分 1 Flink支持的数据类型 在Flink底层因为要对所有的数据序列化&#xff0c;反序列化对数据进行传输&#xff0c;以便通过网络传送它们&#xff0c;或者从状态后端、…

Flask框架项目实例:**租房网站(二)

Flask是一款MVC框架&#xff0c;主要是从模型、视图、模板三个方面对Flask框架有一个全面的认识&#xff0c;通过完成作者-读书功能&#xff0c;先来熟悉Flask框架的完整使用步骤。 操作步骤为&#xff1a; 1.创建项目2.配置数据库3.定义模型类4.定义视图并配置URL 5.定义模板…

Android中的APK,TASK,PROCESS,USERID之间的关系

开发Android已经有一段时间了&#xff0c;今天接触到底层的东西&#xff0c;所以对于进程&#xff0c;用户的id以及Android中的Task,Apk之间的关系&#xff0c;要做一个研究&#xff0c;下面就是研究结果: apk一般占一个dalvik,一个进程,一个task。当然通过通过设置也可以多个进…

天池 在线编程 插入五

文章目录1. 题目2. 解题1. 题目 描述 给定一个数字&#xff0c;在数字的任意位置插入一个5&#xff0c;使得插入后的这个数字最大 示例 样例 1: 输入: a 234 输出: 5234 来源&#xff1a;https://tianchi.aliyun.com/oj/141758389886413149/160295184768372892 2. 解…

Flink的Window

1 Window概述 streaming流式计算是一种被设计用于处理无限数据集的数据处理引擎&#xff0c;而无限数据集是指一种不断增长的本质上无限的数据集&#xff0c;而window是一种切割无限数据为有限块进行处理的手段。 Window是无限数据流处理的核心&#xff0c;Window将一个无限的s…

标记语言Markdown介绍以及日常使用

Markdown介绍 Markdown是一种文本标记语言&#xff0c;用于快速文档排版Markdown文件为纯文本文件&#xff0c;后缀名为 .mdMarkdown介于Word和HTML之间 比起Word&#xff0c;Markdown是纯文本&#xff0c;排版文档轻量、方便、快速。比起HTML&#xff0c;Markdown简单直观&…

Everyday is an Opportunity

Quote Of The Day: “Everyday is an Opportunity to Learn and Grow, Don’t Waste Your Opportunity.” – Alan THE END 转载于:https://www.cnblogs.com/lan1x/p/3572914.html

天池 在线编程 有效的字符串

文章目录1. 题目2. 解题1. 题目 描述 如果字符串的所有字符出现的次数相同&#xff0c;则认为该字符串是有效的。 如果我们可以在字符串的某1个索引处删除1个字符&#xff0c;并且其余字符出现的次数相同&#xff0c;那么它也是有效的。 给定一个字符串s&#xff0c;判断它是否…

Flink的时间语义和Watermark

1 时间语义 数据迟到的概念是&#xff1a;数据先产生&#xff0c;但是处理的时候滞后了 在Flink的流式处理中&#xff0c;会涉及到时间的不同概念&#xff0c;如下图所示&#xff1a; Event Time&#xff1a;是事件创建的时间。它通常由事件中的时间戳描述&#xff0c;例如采集…