Golang算法练习。
- 打印一个数字的二进制字符串
- 选择排序
- 冒泡排序
- 插入排序
- 有一个数组arr,求其n到m的和,m>=n
- 有一个函数f()可以获取到随机数1-5,在不使用其他的系统内置的随机函数之前,获取1-7的随机数
- 有一个函数f1()可以获取到随机数3-19,在不使用其他的系统内置的随机函数之前,获取20-56的随机数
- 对数器
- 给定一个有序的数组,查找里数组中是否有某数字
- 有序数组中找到>=num最左的位置,比如 [1, 2, 2, 3, 4, 6, 7],比如mun是2,应该返回1,num是3,返回3,如果是num是5,则返回5,也就是6的位置
- 有序数组中找到<=num最右的位置,比如 [1, 2, 2, 3, 4, 6, 7],比如mun是2,应该返回2,num是3,返回3,如果是num是5,则返回4,也就是4的位置
- 给定一个无序数组,相邻的数不相等,那么就会产生很多个局部最小的值,找到任意一个局部最小的值的位置返回
- 反转单向链表
- 反转双向链表
- 单向链表实现队列,先进先出
- 单链表实现栈,先进后出
- 双链表实现双端队列
- K 个一组翻转链表
- 两个链表相加
- 两个有序链表合并
- 位图实现
- 位运算实现加、减、乘除,(两数相除)
- 合并K个升序链表
- 二叉树基础
- 相同的树
- 对称二叉树
- 二叉树的最大深度
- 从前序与中序遍历序列构造二叉树
- 二叉树的层序遍历 II
- 平衡二叉树
- 验证二叉搜索树
- 路径总和
- 路径总和2
- 翻转二叉树
- 归并排序(递归)