zoukankan      html  css  js  c++  java
  • 算法

    给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

    说明:

    你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

    示例 1:

    输入: [2,2,1]
    输出: 1
    示例 2:

    输入: [4,1,2,1,2]
    输出: 4

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/single-number
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    func singleNumber(nums []int) int {
        result := 0
        for i := 0; i < len(nums); i ++ {
            result = result^nums[i]
        }
        return result
    }
    // 知识点一(声明):
    // 1. 声明再初始化式:var m map[string]string,map的声明的时候默认值是nil ,此时进行取值,返回的是对应类型的零值,后需要使用m=make(map[string]string)进行初始化
    // 2. make创建式:m := make(map[string]int)
    // 3. 字面量声明式: m := map[string]int{“age”:18,“sex”:0,}
    //
    // 知识点二(增删改查)
    // m["name"] = "云计算小哥"、
    删除,如果key不存在则什么也不做delete(m, "name")、查询,key不存在返回value类型的零值v := m["name"]、m["name"] = "云计算数据库小哥"
    //v, ok := m["name"] || _, ok := m["name"]
    func singleNumber(nums []int) int {
        m := make(map[int]int)  
        for i := 0; i < len(nums); i ++ {
            if (m[nums[i]] == 0) {
                m[nums[i]] = 1
            } else {
                m[nums[i]] = 0
            }
        }
        for i := 0; i < len(nums); i ++ {
            if (m[nums[i]] == 1) {
                return nums[i]
            }
        }
        return 0
    }

    知识点:

  • 相关阅读:
    z-index 应用简单总结
    Query插件
    jquery验证表单中的单选与多选
    SQL Server 如何读写数据
    JS中for循序中延迟加载实现动态效果
    linux 消息队列例子
    MongoDB查询文档
    Delphi语言最好的JSON代码库 mORMot学习笔记1(无数评论)
    CSS长度单位及区别 em ex px pt in
    ddd
  • 原文地址:https://www.cnblogs.com/cjjjj/p/12448271.html
Copyright © 2011-2022 走看看