[入门级]lintcode--刷题

2018-10-21  本文已影响0人  慕止
第一题
反转一个只有3位数的整数。

你可以假设输入一定是一个只有三位数的整数,这个整数大于等于100,小于1000。

您在真实的面试中是否遇到过这个题?  
样例
123 反转之后是 321。
900 反转之后是 9。
class Solution:
    """
    @param number: A 3-digit number.
    @return: Reversed number.
    """
    def reverseInteger(self, number):
        # write your code here
        l = list(str(number))
        s = str(l[2]+l[1]+l[0]).replace('0', '')
        return int(s)
print(Solution().reverseInteger(123))
print(Solution().reverseInteger(900))
第二题
将一个字符由小写字母转换为大写字母

你可以假设输入一定在小写字母 a ~ z 之间

您在真实的面试中是否遇到过这个题?  
样例
a -> A

b -> B
class Solution:
    """
    @param character: a character
    @return: a character
    """
    def lowercaseToUppercase(self, character):
        # write your code here
        return character.upper()
print(Solution().lowercaseToUppercase('b'))
第三题
描述
实现一个矩阵类Rectangle,包含如下的一些成员变量与函数:

两个共有的成员变量 width 和 height 分别代表宽度和高度。
一个构造函数,接受2个参数 width 和 height 来设定矩阵的宽度和高度。
一个成员函数 getArea,返回这个矩阵的面积。
您在真实的面试中是否遇到过这个题?  
样例
Java:
    Rectangle rec = new Rectangle(3, 4);
    rec.getArea(); // should get 12

Python:
    rec = Rectangle(3, 4)
    rec.getArea()
class Rectangle:

    '''
     * Define a constructor which expects two parameters width and height here.
    '''
    # write your code here
    
    '''
     * Define a public method `getArea` which can calculate the area of the
     * rectangle and return.
    '''
    # write your code here
    def __init__(self, width, height):
        self.width = width
        self.height = height

    def getArea(self):
        return self.width * self.height


rec = Rectangle(5,6)
rec.getArea()
第四题
描述
给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。

您在真实的面试中是否遇到过这个题?  
样例
对于数组 [3, 2, 1, 4, 5], 排序后为:[1, 2, 3, 4, 5]。
class Solution:
    """
    @param A: an integer array
    @return: nothing
    """
    def sortIntegers(self, A):
        # write your code here
        return A.sort()

print(Solution().sortIntegers([3, 2, 1, 4, 5]))
第五题
描述
计算链表中有多少个节点.

您在真实的面试中是否遇到过这个题?  
样例
给出 1->3->5, 返回 3.
class Solution:
    """
    @param head: the first node of linked list.
    @return: An integer
    """
    def countNodes(self, head):
        # write your code here
            return len(head.replace('->', ''))

print(Solution().countNodes('1->3->5->1->3->5'))
第六题
class Solution:
    """
    @param A: An integer array
    @param index1: the first index
    @param index2: the second index
    @return: nothing
    """
    def swapIntegers(self, A, index1, index2):
        # write your code here
class Solution:
    """
    @param A: An integer array
    @param index1: the first index
    @param index2: the second index
    @return: nothing
    """
    def swapIntegers(self, A, index1, index2):
        # write your code here
        a=A[index1]
        A[index1]=A[index2]
        A[index2]=a
        return A

print(Solution().swapIntegers([1,2,3,4],2,3))
上一篇下一篇

猜你喜欢

热点阅读