leetcode之Swift --Easy

1. 两数之和

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
示例:

给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
func twoSum(_ nums: [Int], _ target: Int) -> [Int]
{
    var dic = [Int: Int]()
    for i in 0..<nums.count
    {
        if let a = dic[target - nums[i]]
        {
            if i != a
            {
                return [i,a]
            }
        }
        else
        {
            dic.updateValue(i, forKey: nums[i])
        }
    }
    return []
}

7. 反转整数

给定一个 32 位有符号整数,将整数中的数字进行反转。
示例 1:

输入: 123
输出: 321

示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

注意:
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。

func reverse(_ x: Int) -> Int
{
    let max = INT32_MAX
    let positive = x >= 0
    var y = positive ? x : -x
    
    var result = 0
    while y > 0
    {
        result = result * 10 + y % 10
        if (result > max)
        {
            return 0
        }
        y = y / 10
    }
    return positive ? result : -result
}

后续会继续更新。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,115评论 19 139
  • 转载:https://www.cnblogs.com/DarrenChan/p/8871495.html 1. 两...
    susu2016阅读 623评论 0 0
  • 动态规划 111. 爬楼梯思路类似斐波那契数列注意考虑第 0 阶的特殊情况 272. 爬楼梯 II思路类似上题,只...
    6默默Welsh阅读 2,468评论 0 1
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,789评论 0 33
  • 活着,感觉像被困在在了容器里一样。 炙热的夏天依旧炙热着,可是这些年来变得越来越不同。 比以往更热,空气里已不...
    云云风阅读 395评论 0 0