1 数据结构 数据结构主要分为三类 一维、二维、特殊 一维: 基础:数组 array(string),链表 linked list 高级:栈 stack,队列 queue ,双端队列 deque,集合 set,映射 map(hash or map),etc 栈:前进后出 队列:先进先出 二维: 二维数据结构都是从一维泛化而来的 基础:数 tree …
18. 四数之和 难度中等 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。 注意:答案中不可以包含重复的四元组。 示例 1: 输入:nums = [1,0,-…
给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 示例: 输入:nums = [-1,2,1,-4], target = 1 输出:2 解释:与 target 最接近的和是 2 (-1 + 2 + …
函数类型+匿名函数+闭包 函数也可以赋值给变量,存储在数组、切片、映射中,也可作为参数传递给函数或作为函数返回值进行返回 通过函数类型,我们也可以定义一些集合类型,比如切片的映射的 函数类型的意义: 函数类型可以把函数作为参数传递到其他的函数中 1 函数类型 函数类型:由参数的数量和他的类型,还有返回值的数量和类型组成 package main …
1 递归 递归是指函数直接或间接调用自己,递归常用于解决分治问题,将大问题分解为相同的小问题进行解决,需要关注终止条件 我们每做一个递归的时候一定要判断清楚递归的结束条件是什么 阶乘 package main import "fmt" func fact(n int) int { // 结束条件 if n < 0 { r…
1 函数定义&参数1.1 定义函数1.2 类型合并1.3 可变参数:2 函数返回值+函数总结+函数练习(冒泡)2.1 多个返回值2.2 命名返回值2.3 冒泡排序2.3.1 编写冒泡排序函数 1 函数定义&参数 函数用于对代码块的逻辑封装,提供代码复用的最基本方式,函数是对代码的一个封装,和复用 1.1 定义函数 函数包含函数名、形…
[TOC] 1 程序结构 Go 源文件以 package 声明开头,说明源文件所属的包,接着使用 import 导入依赖的包,其次为包级别的变量、常量、类型和函数的声明和赋值。函数中可定义局部的变量、常量 2 基本组成元素 2.1 标识符 标识符是编程所使用的名字,用于给变量、常量、函数、类型、接口、包名等进行命名,以建立名称和使用之间的关系,Go…