设为首页 加入收藏

TOP

python每日经典算法题5(基础题)+1(较难题)(二)
2019-09-15 00:32:41 】 浏览:78
Tags:python 每日 经典 算法 基础 难题
se num
= int(input('请输入一个整数:')) if judge(num): print('{0}是回文数'.format(num)) else: print('{0}不是回文数'.format(num))

效率确实很低。

 

 

5.插入排序

 对于未排序数组,在已排序序列中从前向后或从后向前扫描,找到相应位置并插入。

(1)题目分析:这是个简单的算法,只需要把要每个元素依次和相邻的元素比较即可

(2)算法分析:想用一个变量标记遍历到的元素,然后,有两种方法。

从后先前,把该元素和左边的元素进行对比,如果比左边的元素小,就互换,当左边的元素的编号为-1时停止。

从前先后,把该元素和右边的元素进行对比,如果比右边的元素大,就互换,当右边的元素的编号为数组的长度减1时停止。

(3)用到的python语法:while循环,函数,数据交换。

(4)博主答题代码:

def insert(arr):    
    for i in range(1,len(arr)):
        j = i
        while j > 0:
            if arr[j] < arr[j-1]:
                arr[j-1],arr[j] = arr[j],arr[j-1]
            j -= 1        


my_arr = list(map(int,input('请输入数组:').split(',')))
insert(my_arr)
print(my_arr)

(5)高效代码

python的列表排序函数sort()可以很方便进行排序。

 

二:较难算法题1道

这些等到下一篇博客会详细讲解。

1.串联所有单词的字串

给定一个字符串 s 和一些长度相同的单词 words。找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。

注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考虑 words 中单词串联的顺序。

 

2.解数独

编写一个程序,通过已填充的空格来解决数独问题。

空白格用 '.' 表示。

 

较难算法题等到之后博客会详细讲解。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python 基础 3 - 元组 下一篇Python学习之while练习--九九乘法..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目