- 博客(22)
- 收藏
- 关注
原创 Go环境安装
下载路径国内镜像:https://studygolang.com/dl或者命令:sudo apt-get install golang然后在 home/user 目录下建立 go 文件夹设置 GOPATH 路径:vim .bashrcexport GOPATH=$PATH:/home/user/go/bin保存后记得执行:source .bashrc为了使...
2020-04-10 14:31:38 194
原创 2018.7.21学习笔记
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]方法一:暴力求解:时间复杂度O(n^2),空间复杂度O(1)class Solution {...
2018-07-21 16:05:20 151
原创 2018.7.17学习笔记——剑指Offer——面试题17:打印从1到最大的n位数
题目:输入数字n,按顺序打印出从1到最大的n为十进制数。比如输入3,则打印1、2、3一直到最大的3位数999。分析:如果n不为正数的情况。以及最重要的是n较大时,n位十进制数可能超出了int甚至long型的范围。因此考虑用字符串或者数组来表示这样的大数。一个一个加1的方式import java.util.Scanner;public class Solution{ publ...
2018-07-17 23:48:14 194
原创 2018.7.16——剑指Offer——面试题16:数值的整数次方
题目:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。代码的完整性:功能测试,边界测试,负面测试本题要注意考虑底数为0或负数以及指数为0或者负数的情况public class Solution { public double Power(double base, int exponent) throws Excep...
2018-07-16 23:42:44 199
原创 2018.7.14学习笔记——剑指Offer:位运算——面试题15:二进制中1的个数
P100:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。判断整数最右边是否为1,让该整数与1做与运算,结果为0则不是,为1则是。方法1:public class Solution { public int NumberOf1(int n) { // 输入数右移做与运算,在负数的情况下会导致死循环 // 测试数左移做与运算,则完美避开死循环...
2018-07-14 17:05:13 193
原创 2018.7.13学习笔记二——常用排序算法及实现(未完)
排序方法最优时间平均时间最差时间辅助空间稳定性冒泡O(n)O(n^2)O(n^2) 稳定插入O(n)O(n^2)O(n^2) 稳定选择O(n^2)O(n^2)O(n^2) 不稳定希尔 O(n^1.25) 不稳定堆O(nlgn)O(nlgn)O(nlgn) 不稳定快速O(nlgn)O(nlgn)O(nlgn) 不稳定归并O(nlgn)O(nlgn)O(nlgn)O(n)稳定认为排序到从小到大有序,...
2018-07-13 17:20:32 172
原创 2018.7.13学习笔记——剑指Offer:回溯法——面试题13:机器人的运动范围
P92:地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?public class Solution {...
2018-07-13 15:07:11 204
原创 2018.7.12学习笔记
剑指Offer P89 面试题12:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含...
2018-07-12 23:52:12 143
原创 2018.7.11学习笔记
剑指Offer P82 面试题11 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。排序或者部分排序的数组,考虑二分法,但是要注意特殊情况。本题总共有三种情况import ...
2018-07-11 22:41:49 178
原创 2018.7.10学习笔记
有状态就是有数据存储功能。有状态对象(Stateful Bean),就是有实例变量的对象,可以保存数据,是非线程安全的。在不同方法调用间不保留任何状态。 无状态就是一次操作,不能保存数据。无状态对象(Stateless Bean),就是没有实例变量的对象.不能保存数据,是不变类,是线程安全的。...
2018-07-10 22:02:02 147
原创 2018.7.10学习笔记2
剑指Offer P74 题目一:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39public class Solution { public int Fibonacci(int n) { // 递归虽然代码简洁,但是效率低下,因为从上往下,存在大量重复计算 // 考虑从下往上,运用循环 int f...
2018-07-10 22:01:15 151
原创 2018.7.9学习笔记
剑指Offer P68 面试题9:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。Stack的相关API: boolean empty() :测试堆栈是否为空。Object peek( ):查看堆栈顶部的对象,但不从堆栈中移除它。Object pop( ):移除堆栈顶部的对象,并作为此函数的值返回该对象。Object push(Object element):把...
2018-07-09 23:10:48 247
转载 几种常用的经典算法(转载)
分治算法一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 任何一个可以用计算机求解的问题所需的计算时间都与其...
2018-07-09 10:46:10 4517
原创 2018.7.8学习笔记2
剑指Offer P65 面试题8:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。public class Solution { public TreeLinkNode GetNext(TreeLinkNode pNode) { if (pNode == null) ...
2018-07-08 17:06:37 197
原创 2018.7.8学习笔记
剑指Offer P51 面试题7:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。public class Solution { public TreeNode reConstructBinaryTre...
2018-07-08 16:07:15 232
原创 2018.7.7学习笔记
剑指Offer P51 面试题5:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。import java.util.ArrayList;public class Solution { ArrayList<Integer> values = new ArrayList<>(); // 这个一定要放外面 public ArrayList...
2018-07-07 22:14:59 218
原创 2018.7.6学习笔记2
剑指Offer P51 面试题5:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。书中的给的C/C++思路是从后往前复制:先找出有多少个空格,建立对应长度的字符串,再从后往前开始复制,遇到空格就换根据Java语言特性,我们第一个方法是直接利用replace方法:public class Sol...
2018-07-06 20:29:01 144
原创 2018.7.6学习笔记
剑指Offer:P44 面试题4在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。public class Solution { public boolean Find(int target, int [][] array) { if (array ...
2018-07-06 18:24:50 195
原创 2018.7.5学习笔记
剑指Offer:P41 面试题三——题目二: 在一个长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的。请找出数组中任意一个重复的数字,但不能修改输入的数组。例如,如果输入长度为8的数组{2, 3, 5, 4, 3, 2, 6, 7},那么对应的输出是重复的数字2或者3public class Solution{ public boolean dupli...
2018-07-05 12:34:12 213
转载 关于信道容量的一点知识
今天在看一篇关于MIMO的文章的时候,有一章在讲非遍历信道,当时就觉得很奇怪(什么,信道容量还有其他不为最大互信息量的情况?excuse me?)然后随后搜索了一下,搜到了下面一个答案:"说遍历容量不十分准确,应该叫各态历经性容量。是相对于中断容量说的。理解这个概念不太容易的,首先要理解《信息论》中得香农信道容量,然后结合《随机过程》这门课的内容来理解。通常我们所说的香农容量是在确定性信道条件
2017-11-06 13:47:38 5658
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人