python编程
1、输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
# -*- coding:utf-8 -*- class Solution: def reOrderArray(self, array): # write code here count = 0 for i in range(0,len(array)): for j in range(len(array)-1,i,-1): if array[j-1]%2 ==0 and array[j]%2==1: temp = array[j-1] array[j-1] = array[j] array[j] = temp return array
2、给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
class Solution: def Power(self, base, exponent): # write code here flag = 0 if base == 0: return False if exponent == 0: return 1 if exponent < 0: flag =1 result =1 for i in range(abs(exponent)): result *= base if flag ==1: result = 1 / result return result
3、在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
# -*- coding:utf-8 -*- class Solution: # array 二维列表 def Find(self, target, array): # write code here flag = 'false' for i in range (len(array)): if target in array[i]: flag = 'true'; break return flag while True: try: S=Solution() # 字符串转为list L=list(eval(raw_input())) array=L[1] target=L[0] print(S.Find(target, array)) except: break
4、请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
# -*- coding:utf-8 -*- class Solution: # s 源字符串 def replaceSpace(self, s): # write code here s = list(s) for i in range (len(s)): if s[i] == ' ': s[i] = '%20' return ''.join(s) #输出整个字符串,而不是每一个字符,需要使用join
这里补充join的用法:
join()函数
语法: 'sep'.join(seq)
参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串
返回值:返回一个以分隔符sep连接各个元素后生成的字符串
5、输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
class Solution: # 返回从尾部到头部的列表值序列,例如[1,2,3] def printListFromTailToHead(self, listNode): # write code here l = list() #head = listNode while listNode: l.append(listNode.val) listNode = listNode.next return l[::-1]#翻转列表,从尾到头输出