自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

木剑温华 的 博客

记忆不佳 望竹篮打水 留有余华

  • 博客(106)
  • 资源 (6)
  • 收藏
  • 关注

原创 论文代码

public Map<Integer, Map<Integer, Double>> getPersonFeature(){ Map<Integer, Map<Integer, Double>> personMap = Maps.newHashMap(); List<Integer> userIds = getAllUserId();...

2020-04-08 15:50:10 285

原创 当一个栈帧需要较大容量时,是否所有栈帧都需要同步变大?

产生思考的源头是读书的时候碰到这个一段话:“如果方法调用时,方法的参数和局部变量相对较多,那么栈帧中的局部变量表会变大,栈帧会膨胀以满足方法调用所需传递的信息。因此,单个方法调用所需的栈空间大小也会较多。”开始测试 是否为整体栈帧都需要变大:虚拟机设置: -Xss160kpublic class ThreadDemo { private static int...

2019-10-27 21:22:25 295

原创 ArrayList与LinkedList在JVM内存受限的情况下,性能有几十倍的差距

【问题】在JVM堆设置较小的情况下(假设20m,且不会OOM), 分别尝试往ArrayList 和 LinkedList 里面add对象, 后者的时间开销是前者的三十倍。...

2019-10-13 21:26:34 611

原创 manacher算法解释

代码解释:源码:#include<iostream>#include<string>#include<algorithm>#include<limits>using namespace std;//在字符串之间插入字符,从而 奇偶回文串都能识别char* m...

2019-07-18 13:01:40 173

原创 MySQL 因 “CST” 时区协商误解导致时间差了 14 或 13 小时

https://blog.csdn.net/jyongchong/article/details/77862819试了挺多办法,就这个管用,。在/etc下创建一个 my.cnf文件。 给予 664 rw rw r的权限,然后再在里面的mysqlId下补一行:default-time-zone = '+08:00'ok...

2019-06-04 17:50:14 885

原创 书籍阅读始与终

1.《大话设计模式》:2019年5月15-止2.《Java并发编程之美》:2019年5月15 - 一半 止3. 《深入理解JAVA虚拟机》 2019 年5月20 - 基本需求看完 8月1号 完4.《spring技术内幕》2019年6月4日 - 止5.《大型网站技术架构:核心原理与案例分析》 2019年6月 2日 - 六月 20日 完6. 《redis设计与实现》 20...

2019-05-15 20:09:45 166

原创 leetcode90. 子集 II

第K次有n个集合, 第k+1次 即为在原有的每个集合中再插入一个数值然后再填入第K个集合中,即为第K+1,当碰到重复元素时, 只需要对 前一次才加入的集合 增加其一个元素就好了class Solution {public: vector<vector<int>> subsetsWithDup(vector<int>& ...

2019-05-08 15:09:48 129

原创 leetcode89 格雷编码

原理 图示 在这个链接里。。。。。。(感谢作者。)https://blog.csdn.net/u012501459/article/details/46790683思想: 迭代进化的感觉,找到规律就好做了:当我们知道了第K次的情况是什么,则k+1次的情况为 ( K次的解) + ( K次解的翻转,然后补最高位1)class Solution {public:...

2019-05-08 09:13:07 113

原创 leetcode86. 分隔链表

#include<queue>#include<iostream>using namespace std; struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; // 思想: 遍历链表:两个队列分别存小于...

2019-05-07 20:34:35 129

原创 leetcode 83:删除排序链表中的重复元素

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */// 思想: go指针遍历所有,be指针在go指针之前: 当go指针与be指针所...

2019-05-07 20:32:02 149

原创 leetcode82:删除排序链表中的重复元素 II

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */// 总的思想: 先确定能用的头节点(过滤掉很多值),然后 在其后的遍历过程中把...

2019-05-07 20:27:20 116

原创 leetcode 81: 搜索旋转排序数组 II

和leetcode 33 题一样 分 判断 该点落在哪里,然后在哪里二分的找有趣的一步是: 如果 中点和 最左和最右相同 则无法判断 该点落于何处,则 舍弃该两点~~~class Solution {public: bool search(vector<int>& nums, int target) { int size = nums.si...

2019-05-06 15:08:33 100

原创 leetcode80-删除排序数组中的重复项 II

https://blog.csdn.net/sss__c/article/details/80787931给我的帮助很大,。开阔大脑, medium ===> easy#include<vector>#include<iostream>using namespace std;class Solution {public: ...

2019-05-05 20:35:25 159

原创 leetcode79- 找单词

dfs 广度搜索: 额 说白了就是每次往 上下左右四周找匹配的·字符罢了同时还要注意当前字符是否已经使用过了。#include<vector>#include<string>#include<iostream>using namespace std;class Solution {public: bool exist(vecto...

2019-05-05 16:30:30 141

原创 leetcode 77、78 - 一个找组合 一个找子集,其实是同一类题目

77:class Solution {public: vector<vector<int>> combine(int n, int k) { vector<vector<int> > result; vector<int> res; vector<int> st...

2019-05-05 09:52:42 131

原创 leetcode75 颜色分类

很多的排序算法如 冒泡 插入 什么的,都是基于比较的,这题还可以通过 基于 数据下标的算法: 计数排序 来做下面的解为 partition 的分区方法, 供参考: 思路: 0放左边 2方右边,遇1直接跳过class Solution {public: void swap(vector<int>& nums, int i, int j){ ...

2019-05-02 11:45:12 117

原创 leetcode 73:矩阵置0

我的思路是 ,用一个hash set存 每个为0点的坐标,然后取出来后迭代置0; 这样做的话也有毛病:处有重复置0的情况struct VectorHash{ size_t operator() (const vector<int>& v) const{ hash<int> hasher; size_t seed = 0; for(int i...

2019-04-29 20:12:37 142

原创 leetcode -71: 简化路径

// 该题逻辑: 第一步:扫描字串: 跳过每次遍历开头碰到的所有斜杠,收集字母的字符串,碰到 '.' 的话不理睬,碰到 ‘..’ 的话,能弹栈就弹栈,这样,就把待显示的数据收集好了。// 第二步: 弹栈并 组合#include<algorithm>#include<stack>#include<iostream>#include<string...

2019-04-29 15:30:26 132

原创 leetcode 69 平方根

思路:对于0~x 之间去找一个整数i,1.使得i的平方等于 x 或者2. i的平方 小于x , 但 (i+1)的平方大于x如果能找到,我们就得到了结果。最原始的话是用顺序搜索法,从0开始往后搜索,但这种方法太慢了,因为有序,我们懂得二分的方法去找一个数。每次我们定一个中点 mid , 若此时mid 满足以上两个条件中的一个,即代表我们找到了这个数,直接返回即可。若当前...

2019-04-29 09:53:28 211

原创 快速搭建后台 : spring boot

1. 打开https://start.spring.io 好像要VPN的样子,我每次都是vpn打开的然后在 Dependencises 中 填写 web 、aop 从而得到Web 和 Aspects然后 创建项目 并下载,在本地解压,导入。2. 下载 jar包:velocity-engine-core-2.0.jar3.导入jar包:4.在pom.xml文件中...

2019-04-28 10:47:58 500

原创 leetcode 64 -最小路径和

DP思想:对于第一行和第一列 都是从左往右 ,从上到下累加。然后对于其他的每个格子: 其值 为 它上面一个的值 和左边一格值的最小值 加上本格子的值。这是一题非常简单的DP题,用来练思维是再好不过了。能 AC~ 真实开心 时间(23min)#include<iostream>#include<vector>#include<algorithm...

2019-04-28 10:16:24 125

原创 leetcode- 63 不同路径2

和前一题一样的思路,但是因为障碍物的存在稍微有点不一样在对最后一行赋值时,从最右往左扫描:在找到第一个障碍物的右侧都赋值1,左侧和障碍物处赋值0在对最后一列赋值时,从最下往上扫描:在找到第一个障碍物的下侧都赋值1,上侧和障碍物处赋值0然后 格子所在的值为 右侧 值 加下侧的值最终返回matrix【0】【0】;// 测试过了, 不考虑单独 一行一列的情况,oJ也能AC,估计...

2019-04-27 20:38:02 75

原创 leetcode- 62 不同路径

思路: 最后一行 和最后一列 只有一条路可以走,所以 都填1;然后其他所有格子能走的可能性为 往下走的时候的可能性 加上往右走的时候的可能性,当最终所有都求和结束的时候,返回matrix【0】【0】 就是最终的蛋啊#include<vector>#include<iostream>using namespace std;class Solution {...

2019-04-27 20:31:59 81

原创 leetcode 60 万恶的全排列+ 找第K个全排列

代码学习于 :https://www.cnblogs.com/ariel-dreamland/p/9149577.html规律和 例子也在那篇博客中。》#include<string>#include<iostream>#include<vector>using namespace std;class Solution {public: ...

2019-04-26 11:50:04 189

原创 leetcode40

感觉和39题一波一样的思想。。。。。easy#include<iostream>#include<vector>using namespace std;class Solution {public: vector<vector<int>> combinationSum2(vector<int>& candid...

2019-04-17 14:21:15 260

原创 leetcode-39 组合(我恨组合)

递归的思想:每一次的递归功能,我给它抽象为新找一个位,在该位上,这个数是可以变大的,以此来帮助sum变大从而匹敌 target。这里有意思的地方在于每次都可以用原来的数。(盗图~)#include<iostream>#include<vector>using namespace std;class Solution {public: vecto...

2019-04-16 20:49:26 111

原创 leetcode-35

class Solution {public: // 对每个数进行扫描,若当前数小于目标,直接下一个,若当前述大于等于目标 ,则返回下标地址, // 当所有书都没有命中,则在最后添加东西,则返回 size int searchInsert(vector<int>& nums, int target) { int size = nums.size(); ...

2019-04-15 10:25:31 236

原创 leetcode-38

#include<string>#include<iostream>using namespace std;class Solution {public: string countAndSay(int n) { if(n == 0) return ""; if(n == 1) return...

2019-04-15 10:24:59 201

原创 左神 进阶班 - 子数组、子串问题的统一解法(子数组为aim的最大长度)

该方法 的统一解法为:计算每个位置结尾的情况下所求出的答案,然后总的答案必在其中。#include<iostream>#include<unordered_map>#include<algorithm>using namespace std;int getMaxLen(int arr[], int aim, int length){ i...

2019-04-04 11:57:21 140

原创 左神进阶班-最大异或和 的分割 个数

#include<iostream>#include<unordered_map>#include<algorithm>using namespace std;int getMaxLen(int arr[], int length){ if(length == 0) return 0; unordered_map<int,int&g...

2019-04-04 11:52:46 217

原创 左神进阶班 -morris 遍历: 带你装* 带你飞

基本模板:3条规则:1.如果 当前节点没有左子树 ,直接去右节点。2.如果当前节点有左子树:则找到该左子树的最右节点: 如果最右节点的右指针为nullptr,则改为指向当前节点,如果最右节点的右指针指向当前节点,则改为指向nullptr。//基本框架//morris 遍历的核心 在于 怎么从 递归 时打印的位置 去理解 先序 中序 后序的打印时机,从而明白 morr...

2019-04-02 15:46:26 546

原创 左神进阶班 - BFPRT算法:在无序数组中 找第I个大的数(O(n))

#include<iostream>#include<algorithm>using namespace std;int getMedian(int arr[], int begin, int end);int* partition(int arr[],int L, int R, int pivotvalue);void swap(int arr[], i...

2019-04-02 10:04:38 332

原创 左神进阶班- manacher 找到字符串的最长回文子串的长度

#include<iostream>#include<string>#include<algorithm>#include<limits>using namespace std;//在字符串之间插入字符,从而 奇偶回文串都能识别char* manacherString(string str){ int length = str....

2019-03-29 18:36:31 250 1

原创 左神进阶班 - KMP算法

getNextArray(): 输入一个要找的字符串,输出其Next数组。getIndexOf(): 输入两个字符串。在str1 中找str2,如果找到了,返回str2在str1中的开始位置。#include<iostream>#include<string>using namespace std;int* getNextArray...

2019-03-28 11:08:51 936

原创 左神基础班 -判断一个二叉树是否为完全二叉树

对一个节点而言有四种可能:1. 当前节点有两个孩子2.当前节点有左孩子 没有右孩子3,当前节点 没有左孩子 有 右孩子4,当前节点 没有孩子我们层次遍历每一个节点,若碰到3的情况 一定不是完全二叉树 ,直接返回,当我们 第一次碰到: 2 或者 4 的情况的时候, 这意味着 我们之后遍历的节点都必须是叶子,否则不是完全二叉树。若程序能执行到结束, 返回 t...

2019-03-27 16:48:54 423

原创 左神基础班 - 数一颗完全二叉树有多少个节点

逻辑,判断当前节点的右子树的最左下角节点是否到达最后一层,若到达最后一层,则说明当前节点的左子树 是一颗,则用公式计算得到总数,然后 对当前节点的右子树 递归求解、若当前节点的右子树 的最左下角节点没到最后一层,则当前 节点的 右子树是完全二叉树, 对左子树递归求解。//当前节点的数,其左子树到最后一次了没?int getHigh(TreeNode* node, int level...

2019-03-27 16:45:32 687

原创 左神基础班- 判断一颗树是否为平衡二叉树

递归套路:找出所有的可能性 。然后写代码。ResTreeNode* isBalance(TreeNode* head){ //注意 空树是一颗高度为0的平衡二叉树 if(head == nullptr){ return new ResTreeNode(true,0); } ResTreeNode* left_t = isBalance(head->left); if(!...

2019-03-27 16:40:34 321

原创 左神基础班- 序列化-反序列化一棵树

(非递归)序列化方法:每个节点值之间用'_' 分隔开。然后空位置用'#'表示string getTreeWithSerial(TreeNode* head){ if(head == nullptr){ return "#_"; } char c[8]; sprintf(c,"%d",head->value); string s = c; s = s+ '_'; ...

2019-03-26 12:31:53 193

原创 左神基础班 - prim算法 生成 最小生成树

思想:先随便加入图中的某一个节点和其所连通的边,把节点放在一个哈希集合中,边放入以权重为大小比较对象的最小堆中。然后每次都从最小堆中弹出一个边,我们考察这条边的所连接的to 节点 是否已经被访问过了,1。如果已经访问过,这条边我们就不要了,因为要了的话 ,要么是该边又重新被考虑,要么该边的加入会导致环。 2. 如果该节点没有被访问过,那说明这条边是没问题的,我们直接加入这条边进入解...

2019-03-26 10:02:40 283

原创 左神基础课 - 克鲁斯卡尔算法-生成最小生成树

输入: 一个图结构输出: 最小生成树所在的边集函数内部的逻辑:1.迭代图中的所有顶点,把他们交给并查集。 由于定义时,并查集的输入定义为结构体类型数组,并非指针数组,所以我们把所有节点 转成成 结构体数组的形式,交给并查集进行构造。2.并查集得到所有节点元素, 使每个节点的父指针(用hash map表示)指向自己,且陵每个元素 size =13.把节点中所有的边都放入小顶堆中,...

2019-03-25 15:54:01 442 4

简单记事本的实现

一个简单的android记事本程序,增删改查 哈哈,就这样,对刚入门的朋友会有用,so,just it。

2018-03-10

tensorflow实现LeNet-5的卷积神经网络

里面包含mnist数据集,不用再去下载,程序直接能用。由于model文件夹里有训练好的模型,可以直接跑测试,由于只跑了6000轮训练,不到完整的3W轮,所以只达到了98.8%,你们可以自己训练完一整套,能达到99.*%的准确率。若不满意,那自己调超参数 (初试的指数衰减率 和 每次衰减比率),好了,下次上传迁移学习的代码,下回见,

2018-03-10

用tensorflow在mnist数据集下训练、测试模型

用tensor flow框架 在mnist数据集上训练一个神经网络模型,调试通过,上传给大家学习使用。 1.解压后为共有三个.py文件、一个文件为前向传播过程、另两个文件为训练和测试用 2.mnist数据集在mnist文件夹内,另一个文件夹保存训练好的模型,方便以后直接使用

2018-03-01

geekbench跑分软件

mac一个给电脑跑分的小软件。运行的挺快。然后报表页面通过网页查看

2017-10-25

python3-廖雪峰

朋友给的书 在这里分享给大家 。,内容小块分的好 有

2017-10-25

DeepLearningBook

别人给我分享的书籍 虽然是全英文的 但看了三十分之一左右,感觉还不错,里面分三部分 。 第一部分是基础 。如线性代数 机器学习这样的 。 第二部分就是再讲深度学习。第三部分我没去翻,大致是讲未来会比较有优势的算法内容。

2017-10-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除