xml地图|网站地图|网站标签 [设为首页] [加入收藏]
第五十三题,打家劫舍
分类:编程

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警

编写一个 SQL 查询,来删除 Person 表中所有重复的电子邮箱,重复的邮箱里只保留 Id *最小 *的那个。

/*

给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。

+----+------------------+
| Id | Email            |
+----+------------------+
| 1  | john@example.com |
| 2  | bob@example.com  |
| 3  | john@example.com |
+----+------------------+
Id 是这个表的主键。

 Swift枚举:

示例 1:

例如,在运行你的查询语句之后,上面的 Person 表应返回以下几行:

 Swift中的枚举比OC中的枚举强大, 因为Swift中的枚举是一等类型, 它可以像类和结构体一样增加属性和方法

输入: [1,2,3,1]
输出: 4
解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。
     偷窃到的最高金额 = 1 + 3 = 4 。
+----+------------------+
| Id | Email            |
+----+------------------+
| 1  | john@example.com |
| 2  | bob@example.com  |
+----+------------------+

# Write your MySQL query statement below
delete p1 from  Person p1,Person p2 where p1.Email = p2.Email and p1.Id > p2.Id

 格式:

示例 2:

 

 enum Method{

输入: [2,7,9,3,1]
输出: 12
解释: 偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。
     偷窃到的最高金额 = 2 + 9 + 1 = 12 。

class Solution:
    def rob(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        if not nums:
            return 0
        if len(nums) == 1:
            return nums[0]
        result = [nums[0], max(nums[0], nums[1])]
        for i in range(2, len(nums)):
            result.append(max(nums[i] + result[i - 2], result[i-1]))
        return result[-1]

 case 枚举值

 

 }

 */

 

enum Method {

    case Add

    case Sub

    case Mul

    case Div

    //可以连在一起写

//    case Add, Sub, Mul, Div

}

 

// 可以使用枚举类型变量或者常量接收枚举值

var m:Method = .Add

print(m)

 

// 注意: 如果变量或者常量没有指定类型, 那么前面必须加上该值属于哪个枚举类型

var m1 = Method.Add

print(m1)

 

// 利用Switch匹配

// 注意: 如果case中包含了所有的值, 可以不写default; 如果case没有包含枚举中所有的值, 必须写default

 

switch (Method.Add){

case Method.Add:

    print("加法")

case Method.Sub:

    print("减法")

case Method.Mul:

    print("除法")

case Method.Div:

    print("乘法")

//default:

//    print("都不是")

}

 

/*

 原始值:

 OC中枚举的本质就是整数,所以OC中的枚举是有原始值的,默认是从0开始

 而Swift中的枚举默认是没有原始值的, 但是可以在定义时告诉系统让枚举有原始值

 enum Method: 枚举值原始值类型{

本文由澳门新葡亰手机版发布于编程,转载请注明出处:第五十三题,打家劫舍

上一篇:Swift循环遍历集合方法,替换字符 下一篇:查找元素习题集,构造方法
猜你喜欢
热门排行
精彩图文