coding
豆芽炒粉丝
世上万事,不过一拖二闹三不读书。
展开
-
Spring注解方式实现定时任务
目的:实现定时任务 实现方式:Spring定时器,使用注解方式(annotation) jar包:Spring4.0.6 +Spring-context-support 链接:http://mvnrepository.com/artifact/org.springframework/spring-context-support/4.0.6.RELEASE.....@EnableSc...原创 2018-04-26 21:59:50 · 974 阅读 · 2 评论 -
LeetCode-Number of 1 Bits
Write a function that takes an unsigned integer and returns the number of ’1’ bits it has (also known as the Hamming weight). For example, the 32-bit integer ’11’ has binary representation 00000000000原创 2016-10-13 09:02:42 · 319 阅读 · 0 评论 -
LeetCode 300: Longest Increasing Subsequence
最长增加的子序列问题,归于动态规划问题。分析:从最后面的数往前去找。假设串为[10,9,2,5,3,7,101,18],我们从最后一个数18开始找,那么18这个数我们到底需不需要第一步就将它加入到最长子串呢?如果先加入进去的话,我们默认从18开始,那么18就为一个上限了,也就是说,我把这个递增的子串的上限给确定下来了(为18),这样一来是不是很不方便呢? 于是,我们可以在原始数组的后面添加一个非常原创 2016-11-27 16:29:05 · 326 阅读 · 0 评论 -
LeetCode 46: Permutations
即求n个不重复的数的组合。 思路: 先固定第一位,枚举第二位,。。。第n位,注意需要记录已经用过的数字。用代码说话:public class Solution { public List<List<Integer>> ans = new ArrayList<>(); public boolean[] used = new boolean[100]; //記錄用過的數組 p原创 2016-11-29 20:28:38 · 353 阅读 · 0 评论 -
LeetCode 39:Combination Sum
每一次向下搜索时,起始位置都和上一次相同,因为可以取相同元素不止一次,即每次向下传入的index For循环每次从index开始,避免返回到之前的元素 DFS搜索 如果sum>target 则return 如果sum == target 则记录下来 否则 继续DFS搜索public class Solution { public List<List<Integer>> ans =原创 2016-12-01 20:29:14 · 391 阅读 · 0 评论 -
LeetCode216:Combination Sum III
从1-9中取k个数和为n,且数不重复。首先可能想到的是用一个boolean数组记录用过的数字,Boolean数组的下标+1即为数字。但这题我们发现,选取的数组是递增的,所以无需使用一个数组记录使用过的数字,我们取一个数然后往后枚举即可,当满足条件时,将当前的答案记录到集合中即可。public class Solution { public List<List<Integer>> ans = n原创 2016-12-03 10:43:23 · 310 阅读 · 0 评论 -
LeetCode40:Combination Sum II
从集合中取n个数和为target,数字可能有重复,每个数字只能选一次,这道题目需要注意candidates[] 数组中的元素是会有重复的,所以答案里面会出现重复的解,需要在求解过程中对相同的数字不再进行深度搜索即可。 public class Solution { public List<List<Integer>> ans = new ArrayList<>(); public L原创 2016-12-04 18:16:29 · 289 阅读 · 0 评论 -
LeetCode113:Path Sum II
将当前节点加入到临时存储集中,若满足条件则加入到结果集,否则向下搜索左右子树,在搜索完左右子树后还原(回溯法)1、概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就原创 2016-12-06 09:42:13 · 361 阅读 · 0 评论 -
LeetCode 22 :Generate Parentheses
作为经典的回溯问题,这道题对于理解回溯的基本框架帮助还是挺大的。所谓Backtracking都是这样的思路:在当前局面下,你有若干种选择。那么尝试每一种选择。如果已经发现某种选择肯定不行(因为违反了某些限定条件),就返回;如果某种选择试到最后发现是正确解,就将其加入解集所以在思考问题的时候,首先需要考虑: 1. 边界条件(任何算法都需要考虑这个,往往输入并不如你所想那么理想) 2. 满足解的条件原创 2016-12-07 21:27:53 · 322 阅读 · 0 评论 -
LeetCode111:Minimum Depth of Binary Tree
DFS系列思路: 1.边界条件:如果树为空,则返回 2.满足条件的解:当到达叶子节点时,即左右子树为空,则比较当前的深度与所记录的最小深度,若比最小深度小,则更新最小深度,否则不执行。 3.如果左子树不为空则进行搜索,如果右子树不为空则进行搜索。public class Solution { public int minDepth=Integer.MAX_VALUE; publ原创 2016-12-09 16:29:51 · 290 阅读 · 0 评论 -
LeetCode 357: Count Numbers with Unique Digits
public class Solution { public int countNumbersWithUniqueDigits(int n) { if(n==0) return 1; if(n==1) return 10; int ans =10; int base = 9; //int result=0;原创 2016-12-11 11:08:32 · 283 阅读 · 0 评论 -
LeetCode257:Binary Tree Paths
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution {原创 2016-12-11 11:13:37 · 301 阅读 · 0 评论 -
Leetcode 326 : Power of Three
Given an integer, write a function to determine if it is a power of three.确定这个数是不是3的幂对于确定一个数n是不是k幂而言,有如下方法:只需求得在int允许的最大范围的k为底的最大的数p,如果这个最大的p能被n整除,那么就为k幂例如:确定一个数n是不是3的幂,在整型范围内可以先求3为底的最大的数,记为p,如果p%n==0,原创 2016-10-13 08:49:06 · 339 阅读 · 0 评论 -
LeetCode 371:Sum of Two Integers
LeetCode 371:Sum of Two IntegersCalculate the sum of two integers a and b, but you are not allowed to use the operator + and -加法(a + b)用^、&和<<即可实现,a^b可得到对应位没有进位时的和,a&b可得到各位产生的进位值。如:a=010010, b=100111,计原创 2016-10-07 10:30:52 · 364 阅读 · 0 评论 -
SQL子查询
子查询 = 简单查询+限定查询+多表查询+统计查询的综合体 多表查询性能较差,很多多表查询最有利的替代者就是子查询,所以子查询在实际的开发之中使用相当的多 所谓的子查询就是在一个查询之中嵌套了其它若干的查询,子查询语法如下:SELECT [DISTINCT] * | 列名称 [AS]别名,……..FROM 表名称1 [别名1] |统计函数,( SELECT [DISTINC原创 2017-06-03 08:25:06 · 915 阅读 · 0 评论 -
LeetCode376:Wiggle Subsequence
这道题的意思是寻找一个子序列,这个序列需要满足一定的条件: 1. 不能连续递增或者递减 2. 只能间隔递增或者递减 3. 两数之间的差值必须不为0对于满足要求的序列[1,7,4,9,2,5],我们可以做一个图: 我们发现这个图形的规律,是不是一上一下或者一下一上,形成一个拐点就是答案呢?再来看看几种不符合情况的图:第一种情况: 只需要将标记红色的去除,即可得到wiggle su原创 2016-12-21 08:50:28 · 530 阅读 · 0 评论 -
LeetCode121:Best Time to Buy and Sell Stock I and II
public class Solution { public int maxProfit(int[] prices) { if(prices==null || prices.length==1){ return 0; } int ans = Integer.MAX_VALUE; for(int i=0;原创 2016-12-31 14:09:34 · 356 阅读 · 0 评论 -
LeetCode105: Construct Binary Tree from Preorder and Inorder Traversal
与题目106类似: 从前序遍历,与中序遍历中还原二叉树。 假设树: 通过先序遍历找到第一个点作为根节点,在中序遍历中找到根节点并记录index。 因为中序遍历中根节点左边为左子树,所以可以记录左子树的长度(index-in_left),并在先序遍历中依据这个长度找到左子树的区间,用同样方法可以找到右子树的区间。 递归的建立好左子树和右子树即可。 public c原创 2016-12-18 20:58:23 · 532 阅读 · 0 评论 -
Java基础之字符串创建于存储的机制
在java中字符串的声明与初始化有如下几种方式: 1. String a = new String("abc"); 2. String b = "abc" 这两种方式结果都是一样的,但是实现机制却不相同,接着往下看:String a = "hello";String b = "hello";与String c = new String("hello");String d = new Str原创 2016-12-24 14:07:04 · 808 阅读 · 0 评论 -
LeetCode473: Matchsticks to Square
public class Solution { //sums是当前每个边的大小 index是在数组中的位置 average是每个边的长度 public boolean robot(int[] nums, int [] sums , int index, int average){ //边界条件 if(nums.length3 || index>num原创 2016-12-24 10:17:58 · 1157 阅读 · 3 评论 -
LeetCode 167:Two Sum II - Input array is sorted
排好序(升序)的一列数numbers,给定一个数key,求数列中是否存在两个数的和为给定的数key,若有则返回下标(从1开始,并不是0) 双指针问题,一个指向前部st,一个指向尾部etd。 那么分三种情况,如果numbers[st]+numbers[etd]>target ,那么说明需要值大,需要减小,只有etd往左移动才是减小(etd往右是增大,st往右也是增大),所以etd–number原创 2016-09-19 07:28:37 · 439 阅读 · 0 评论 -
LeetCode 3:Longest Substring Without Repeating Characters
Question: 双指针,移动窗口问题。维护一个[st,etd)的窗口,不断向右进行滑动,当[st,etd)不包含etd位置上的字符时,将etd位置上的字符加入[st,etd)->[st,etd] 如果[st,etd)包含etd,则st向右滑动,直到找到与etd位置相同的字符[st,etd)->[st+1,etd)简单使用图形演示一下 “abcabcbb”时候的情况 java代码:p原创 2016-09-22 10:17:45 · 341 阅读 · 0 评论 -
LeetCode 9 : Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space.判断是否为回文数字,12321,1001即为回文,反过来与正着念都是一样代码:public class Solution { public boolean isPalindrome(int x) { //bound边界条原创 2016-09-24 14:06:15 · 331 阅读 · 0 评论 -
Leetcode 14 : Longest Common Prefix
Q:Write a function to find the longest common prefix string amongst an array of strings.分析: 一个字符数组的最长公共前序。例如”abcdsa”,”a”,”abcjd”的公共前序就是”a”,不难见得,最长公共前序是由最短的字符串来决定的,那么可以如下的一种思路: 1.求得前两个字符串的公共前序,存为ans原创 2016-09-29 08:10:45 · 355 阅读 · 0 评论 -
LeetCode 144: Binary Tree Preorder Traversal
Q: Given a binary tree, return the preorder traversal of its nodes’ values.前序遍历: 根左右/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * Tr原创 2016-10-03 10:58:13 · 360 阅读 · 0 评论 -
LeetCode110:Balanced Binary Tree
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution {原创 2016-12-11 11:15:53 · 316 阅读 · 0 评论 -
LeetCode104:Maximum Depth of Binary Tree
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution {原创 2016-12-11 11:17:38 · 288 阅读 · 0 评论 -
LeetCode106:Construct Binary Tree from Inorder and Postorder Traversal
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution {原创 2016-12-11 19:36:32 · 294 阅读 · 0 评论 -
Java算法之简单排序算法笔记记录
本篇主要记录冒泡排序,选择排序,插入排序。冒泡排序算法思想: 如下图,先比较0与1位置上的运动员身高,若0位置身高大于1位置身高,则0与1位置上的运动员交换位置,然后从1位置开始,比较1与2位置上运动员的身高,以此类推,直至到位置9。此时,9已经是最高的了,属于有序状态,所以下次比较的时候,只需要从0位置开始比较,直至位置8即可。 不变性: 我们发现,每次经过一轮比较后,总会有一个运动员的原创 2016-08-08 11:13:25 · 713 阅读 · 0 评论 -
Java算法之链表笔记记录
本篇主要介绍一种新的数据存储结构——链表。链表可能是继数组之后第二种使用得最广泛的通用存储结构。 链表的机制灵活,用途广泛,适用于许多通用数据库。它也可以取代数组,作为其他存储结构的基础,例如栈,队列。除非需要频繁通过下标随机访问各个数据,否则在很多使用数组的地方都可以用链表代替。链结点在链表中,每个数据项都被包含在“链结点”(Link)中。一个链结点是某个类的对象,这个类可以叫做Link。因为一原创 2016-09-04 13:55:24 · 2449 阅读 · 0 评论 -
HDFS-API调用-基于MVC框架实现WEB操作记录
PS:完成时间是2016年3月23日,至今已有一段时间了,功能还未完善,忙于其它事情,所以难免有bug,只做一个砖头,引引玉吧! Utils:// 判断路径是否存在 public static boolean isExistFile(String path, Configuration conf) throws Exception, IOException { FileSy原创 2016-08-06 15:59:37 · 1005 阅读 · 0 评论 -
Spark 入门之 Scala 语言解释及示例讲解
Scala 语言衍生自 Funnel 语言。Funnel 语言尝试将函数式编程和 Petri 网结合起来,而 Scala 的预期目标是将面向对象、函数式编程和强大的类型系统结合起来,同时让人要能写出优雅、简洁的代码。本文希望通过一系列 Java 与 Scala 语言编写的相同程序代码的对比,让读者能够尽快地熟悉 Scala 语言。安装 Scala 并调试首先,我们需要从官方网站下载最新的 Scala转载 2016-07-19 14:01:19 · 3460 阅读 · 0 评论 -
Vector Multiplication with Map-Reduce
Vector Multiplication Task: multiply 2 arrays of N numbers A basic mathematical operation Let’s assume N is very large 向量乘法问题描述: 当N非常大时,如何使用map-reduce解决? 所以,先回想一下map之前,是不是先要将文件spilt一下? 但是问原创 2016-07-05 10:06:11 · 951 阅读 · 0 评论 -
JFinal框架学习debug
最近在学习jfinal这个框架,就目前而言确实比较轻量级。下面这是我在部署的时候出现的一个问题,怎么解决的呢?应该是一个default output folder问题,项目的java build path面板, 然后找到default output folder, 把这里的输出改为your_project/WebRoot/WEB-INF/classesStarting JFinal原创 2015-08-13 13:38:07 · 2929 阅读 · 0 评论 -
AptanaStudio软件使用记录
最近在研究前端语言,想起可以使用AptanaSt;MessageBox,分别是关于git和node;java6和java7环境,并且eclipse运;最近在研究前端语言,想起可以使用AptanaStudio这个前端利器,没想到安装时却遇到波折。先从网上下载了Aptana版本 3.6.0 64bit问题1 安装进度缓慢,第一次安装时,显示downloadfiles 类似语句,进度条一直停滞,并在约10转载 2015-11-03 08:34:44 · 808 阅读 · 0 评论 -
libsvm与matlab,安装调试
趁着所里的网好,我赶紧写下这么一篇bug调试,是关于matlab与 libsvm-mat-2.89-3[FarutoUltimate3.0Mcode] 的(一下简称libsvm)。闲话不多说了,首先介绍一下博主的机器: win10 64 bit matlab 2013ra 破解版 64bit visula studio 2013 按照网上的说法,运行libsvm中的make.m可以完成安装原创 2015-11-04 13:04:28 · 2165 阅读 · 2 评论 -
matlab环境下安装libsvm
1.下载libsvm的包解压2.打开matlab,输入 mex -steup3.这里要看是否能识别你机器的编译器,如果你是vs2013,那么请参照我的另一篇文章,配置一下。如果能识别则往下看4.输入y,然后出现选择。输入数字选择一个编译器。5.matlab会问你是否正确,确认无误就输入y6.这时要注意,如果你是64bit系统,就得将make.m文件中的-O 改为 -lar原创 2015-11-05 08:36:44 · 540 阅读 · 0 评论 -
Machine Learning Foundations: A Case Study Approach-Regression-Assignment: Predicting House Prices
Predicting house pricesIn this module, we focused on using regression to predict a continuous value (house prices) from features of the house (square feet of living space, number of bedrooms,…). We al原创 2016-06-26 21:07:43 · 3334 阅读 · 0 评论 -
fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1)记录
头文件用#include <iostream.h> 但是当改成#include <iostream.h>后,会出现does not exist or is not a namespace 原因: 查了一下,原来 C++有两个不同版本的头文件。引入名字空间这个概念以前编译器用的是#include <iostream.h>, 而引入名字空间的概念以后std名字空间的头文件名字变成了<iostrea原创 2016-05-29 11:12:30 · 8440 阅读 · 0 评论 -
汉诺塔(Hanoi)递归算法笔记记录
汉诺(Hanoi)塔问题:古代有一个梵塔,塔内有三个座A、B、C,A座上有64个盘子,盘子大小不等,大的在下,小的在上(如图找了张5个的,意思一样)。有一个和尚想把这64个盘子从A座移到B座,但每次只能允许移动一个盘子,并且在移动过程中,3个座上的盘子始终保持大盘在下,小盘在上。在移动过程中可以利用B座,要求打印移动的步骤。如果只有一个盘子,则不需要利用B座,直接将盘子从A移动到C。 分析: 以原创 2016-09-06 08:29:15 · 2171 阅读 · 0 评论