- 博客(183)
- 资源 (6)
- 收藏
- 关注
原创 ubuntu装cuda出现xserver running问题
如题,注销进入tty停止xserver不成功,解决:禁用自带nouveau驱动:(1)直接移除这个驱动(备份出来)$ mv /lib/modules/4.4.0-31-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko /lib/modules/4.4.0-31-generic/kernel/drivers/gpu/drm/n
2018-01-15 18:10:16
2912
原创 grub-efi-amd64-signed安装失败
uefi 下grub-efi-amd64-signed 安装失败 解决方案:新建efi分区即可https://help.ubuntu.com/community/UEFI#Creating_an_EFI_System_Partition
2017-07-20 12:38:51
2346
转载 pandas get_dummies()使用
In [72]: df = pd.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'b'], ....: 'data1': range(6)})In [73]: pd.get_dummies(df['key'])Out[73]: a b c0 0 1 01 0 1 02 1
2017-06-25 14:20:48
8033
原创 决策树实现
from math import logimport operator# 计算数据集的熵def calsShannonEnt(dataSet): numEntries = len(dataSet) labelCounts = {} for featVec in dataSet: currentLabel = featVec[-1]
2017-06-10 22:14:17
569
原创 KNN实现
from array import arrayfrom os import listdirfrom numpy import *import operatordef createDataSet(): group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]]) labels = ['A','A','
2017-06-10 22:08:14
586
原创 ML逻辑回归实现
代码链接:from numpy import *def loadDataSet(): dataMat = [] labelMat = [] fr = open('testSet.txt') for line in fr.readlines(): lineArr = line.strip().split() dataM
2017-06-10 22:06:13
470
原创 机器学习Kmeans实现
代码链接: from numpy import *def loadDataSet(fileName): dataMat = [] fr = open(fileName) m = len(fr.readline().split('\t')) for line in fr.readlines(): curLine = line.strip(
2017-06-10 22:05:50
511
原创 机器学习PCA实现
代码链接:from numpy import *def loadDataSet(fileName, delim='\t'): fr = open(fileName) stringArr = [line.strip().split(delim) for line in fr.readlines()] datArr = [] for line in s
2017-05-30 22:03:47
518
原创 机器学习线性回归实现
代码链接:from numpy import *def loadDataSet(fileName): numFeat = len(open(fileName).readline().split('\t')) - 1 dataMat = [] labelMat = [] fr = open(fileName) for line in fr.r
2017-05-30 22:02:15
555
原创 基于SVM手写数字识别
代码链接:http://download.youkuaiyun.com/detail/edwards_june/9856050from numpy import *def loadDataSet(fileName): dataMat = [] labelMat = [] fr = open(fileName) for line in fr.readlines(
2017-05-30 21:54:25
2971
1
原创 机器学习实现bayes
代码链接:http://download.youkuaiyun.com/detail/edwards_june/9856048from numpy import *# 词表到向量的转换函数def loadDataSet(): postingList = [['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'],
2017-05-30 21:52:03
469
原创 机器学习adaboost实现
学习《机器学习实战》一书时写的代码:from numpy import *def loadSimpData(): datMat = matrix([[1., 2.1], [2., 1.1], [1.3, 1.], [1., 1.],
2017-05-30 21:29:57
624
原创 opencv3:AttributeError: 'module' object has no attribute 'CV_LOAD_IMAGE_COLOR'
如题,AttributeError: 'module' object has no attribute 'CV_LOAD_IMAGE_COLOR'原因版本问题,opencv3使用IMREAD_COLOR 代替'CV_LOAD_IMAGE_COLOR'
2017-05-05 19:26:23
4963
原创 Tensorflow CIFAR-10训练例子报错解决
大部分是Api版本问题:AttributeError: 'module' object has no attribute 'SummaryWriter'tf.train.SummaryWriter改为:tf.summary.FileWriterAttributeError: 'module' object has no attribute 'summaries'
2017-03-24 21:25:28
14154
1
原创 使用Apriori进行关联分析
源码有问题,贴出修改后可运行代码:def loadDataSet(): return [[1, 3, 4], [2, 3, 5], [1, 2, 3, 5], [2, 5]]def createC1(dataSet): C1 = [] for transaction in dataSet: for item in transaction:
2017-02-20 15:42:56
939
原创 心路历程
2017.1.14这几天总结了研一上半年所做的事,把这学期刷过算法题大部分都blog了,开学时定下的小目标也完成了。接下来,开始深度学习的旅程。
2017-01-16 11:28:49
415
原创 木块砌墙
用 1×1×1, 1×2×1以及2×1×1的三种木块(横绿竖蓝,且绿蓝长度均为2),搭建高长宽分别为K × 2^N × 1的墙,不能翻转、旋转(其中,0有多少种方案,输出结果对1000000007取模。举个例子如给定高度和长度:N=1 K=2,则答案是7,即有7种搭法。#ifdef WIN32#define ll __int64#else#define l
2017-01-16 11:28:12
396
原创 最长公共子序列
什么是最长公共子序列呢?好比一个数列 S,如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则S 称为已知序列的最长公共子序列。举个例子,如:有两条随机序列,如 1 3 4 5 5 ,and 2 4 5 5 7 6,则它们的最长公共子序列便是:4 5 5。提示:最容易想到的算法是穷举搜索法,但考虑到最长公共子序列问题也有最优子结构性质,可以用动态规划解决。#defi
2017-01-16 11:27:42
564
原创 交替字符串
输入三个字符串s1、s2和s3,判断第三个字符串s3是否由前两个字符串s1和s2交错而成,即不改变s1和s2中各个字符原有的相对顺序,例如当s1 = “aabcc”,s2 = “dbbca”,s3 = “aadbbcbcac”时,则输出true,但如果s3=“accabdbbca”,则输出false。#define N 100bool isInterLeave(string a, stri
2017-01-16 11:26:57
688
原创 格子取数3
给定m*n的矩阵,每个位置是一个整数,从左上角开始,每次只能朝右、上和下走,并且不允许两次进入同一个格子,走到右上角,最小和。#include using namespace std;#define M 4#define N 4int dp[M][N];void initDp() { for (int i = 0; i < M; ++i) { for (int j = 0
2017-01-16 11:26:33
561
原创 格子取数2
给定m*n的矩阵,每个位置是一个非负整数,从左上角开始,每次只能朝右和下走,走到右下角,但只走一次,求总和最小的路径。#define N 4int dp[2][N];bool isVaild(int step, int x, int n) { if (x >= 0 && x = 0 && step - x < n) { return true; } return false;
2017-01-16 11:26:05
382
原创 格子取数问题
有n*n个格子,每个格子里有正数或者0,从最左上角往最右下角走,只能向下和向右,一共走两次(即从左上角走到右下角走两趟),把所有经过的格子的数加起来,求最大值SUM,且两次如果经过同一个格子,则最后总和SUM中该格子的计数只加一次。#define N 6//使用滚动数组,因为每次状态计算只要用到前一次的记录即可int dp[2][N][N] = { 0 };/*坐标是否满足要求*/
2017-01-16 11:25:29
642
原创 有一亿个数,输入一个数,找出与它编辑距离在3以内的数,比如输入6(0110),找出0010等数,数是32位的。
#define LIMIT 3//计算二进制中1个数int find1NumsInBin(int num) { int count = 0; while (num) { num = num & (num - 1); count++; } return count;}bool isVaild(int n) { int count = 0; while (n) {
2017-01-15 12:09:47
745
原创 字符串编辑距离
给定一个源串和目标串,能够对源串进行如下操作:在给定位置上插入一个字符替换任意字符删除任意字符写一个程序,返回最小操作数,使得对源串进行这些操作后等于目标串,源串和目标串的长度都小于2000。#define N 100/* * dp[i][j]表示源串source[0-i)变化为目标串target[0-j)最短操作次数 * */int EditDistance(strin
2017-01-15 12:08:52
523
原创 给定 n×n 的实数矩阵,每行和每列都是递增的,求这 n^2 个数的中位数。
#define COL 4#define ROW 4int findMedian(int matrix[][COL], int row, int col) { int* arr = new int[row]; memset(arr, 0, sizeof(int) * row); for (int i = 0; i < row; ++i) { int mid1 = matrix[i
2017-01-15 12:07:59
1854
原创 城市遍历
#define N 10void traverse(bool edge[N][N], int m, int n, int cur, int end, int &result) { if (!m && end == cur) { result++; return; } else if (!m && end != cur) { return; } else { for (in
2017-01-15 12:06:53
1371
原创 写程序输出8皇后问题的所有排列,要求使用非递归的深度优先遍历。
#define COLS 10#define WAYS 100int col[COLS];int result[WAYS][COLS];bool isVaild(int level) { for (int i = 1; i < level; ++i) { if (col[i] == col[level] || abs(i - level) == abs(col[i] - col[
2017-01-15 12:06:19
830
原创 有一个排序二叉树,数据类型是int型,如何找出中间大的元素。
void tree2Dll(TNode* root, TNode*& tail) { if (!root) { return; } if (root->left) { tree2Dll(root->left, tail); } TNode* tmp = root; tmp->left = tail; if (tail) { tail->right = tmp; } t
2017-01-15 12:05:40
667
原创 假设有一颗二叉树,已知这棵树的节点上不均匀的分布了若干石头,石头数跟这棵二叉树的节点数相同,石头只可以在子节点和父节点之间进行搬运,每次只能搬运一颗石头。请问如何以最少的步骤将石头搬运均匀,使得每个节
假设有一颗二叉树,已知这棵树的节点上不均匀的分布了若干石头,石头数跟这棵二叉树的int moveStone(TNode* root, int& stone) { if (!root) { return 0; } int leftStone = 0, rightStone = 0; if (root->left) { //左子树需要移动次数,也就是当前结点会增加的石数 leftS
2017-01-15 12:05:01
917
原创 二元查找树转变成排序的双向链表
输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。例如把下述二叉查找树10/ /6 14/ / / /4 8 12转换成双向链表,即得:4=6=8=10=12=14=16。void tree2Dll(TNode* root, TNode*& tail) { if (!root) { return; }
2017-01-15 12:04:15
378
原创 最少操作次数的简易版
int getMinOperationNum(string a, string b) { int len = a.length(); int curA = len - 1, prevA = len - 1; int curB = len - 1, prevB = len - 1; int result = 0; while (curA >= 0) { if (a[curA] ==
2017-01-15 11:54:16
849
原创 对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右),某一个元素也加一,现给出一正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到。
#define M 3#define N 3//二维坐标和为奇数的元素和与坐标和为偶数的元素和是否相等bool getSum(int matrix[M][N], int m, int n) { if (!matrix) { return false; } int sumA = 0; int sumB = 0; for (int i = 0; i < m; ++i) { f
2017-01-15 11:53:45
1129
原创 根据上排给出十个数,在其下排填出对应的十个数 要求下排每个数都是先前上排那十个数在下排出现的次数
给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数 要求下排每个数都是先前上排那十个数在下排出现的次数。上排的十个数如下:0,1,2,3,4,5,6,7,8,9举一个例子,数值: 0,1,2,3,4,5,6,7,8,9分配: 6,2,1,0,0,0,1,0,0,00在下排出现了6次,1在下排出现了2次,2在下排出现了1次,3在下排出现了0次....以此类
2017-01-15 11:53:18
866
原创 螺旋矩阵
#include using namespace std;#define M 4#define N 5void init(int* arr, int m, int n) { for (int i = 1; i <= m * n; ++i) { arr[i - 1] = i; }}//定义四个方向的界限,不够优化int* spiralMatrix(int matrix[M]
2017-01-15 11:52:31
320
原创 从一列数中筛除尽可能少的数使得从左往右看,这些数是从小到大再从大到小的。
提示:双端 LIS 问题,用 DP 的思想可解。#include using namespace std;void printArray(int* arr, int len) { for (int i = 0; i < len; ++i) { cout << arr[i] << ' '; } cout << endl;}int binaryFind(int* lis, i
2017-01-15 11:51:59
608
原创 O(1)空间内实现矩阵转置
思路: * 每个元素转置前后会形成一个环(一个数字有多个环) * 利用环来移动元素达到转置 * 关键: * 1.得到元素下标的前驱后继, * 2.判断环是否已走过(意味属于一个环的元素一次转置完成) * 解决: * 1.从一维下标转二维坐标得到转置后的二维坐标再换回一维坐标 * 如:M*N矩阵 * 假设转置前某个元素的数组下标为i,则它所在行列为(i/N, i%
2017-01-15 11:51:29
688
原创 找出3个唯一出现的数
一个数组里,数都是两两出现的,但是有三个数是唯一出现的,找出这三个数。#include using namespace std;#define N 3int getLenOfBinary(int num) { int len = 0; while (num) { num = num >> 1; len++; } return len;}int getFirstO
2017-01-15 11:51:01
566
原创 完美三手洗牌
完美洗牌问题是两手洗牌,假设有三只手同时洗牌呢?那么问题将变成:输入是a1,a2,……aN, b1,b2,……bN, c1,c2,……cN,要求输出是c1,b1,a1,c2,b2,a2,……cN,bN,aN,这个时候,怎么处理?#include using namespace std;//翻转字符串时间复杂度O(to - from)void reverse(int *a, int fr
2017-01-15 11:50:26
322
原创 完美洗牌2
既然完美洗牌问题是给定输入:a1,a2,a3,……aN,b1,b2,b3,……bN,要求输出:b1,a1,b2,a2,……bN,aN;那么有无考虑过它的逆问题:即给定b1,a1,b2,a2,……bN,aN,,要求输出a1,a2,a3,……aN,b1,b2,b3,……bN ?#include using namespace std;void printArr(int* arr, int
2017-01-15 11:49:35
373
原创 矩阵相乘
请编程实现矩阵乘法。#include using namespace std;#define M1 3#define M2 3#define N 2//O(N^3)void mulMatix(int matrix1[][N], int matrix2[][M2], int matrix3[][M2]) { for (int i = 0; i < M1; ++i) { for
2017-01-15 11:49:09
354
springMvc+hibernate4+spring整合实例
2014-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人