原创 兩道用到二分法的math題:Sqrt(x) && Pow(x, n)

第一題求一個int數的平方根,返回值也是int,開始直接用循環做,結果不出意料的超時了,還是要用二分法。 每一次都排除掉一半的值,時間複雜度就低了很多~ 代碼的實現還是很簡單易懂的: public int sqrt(int x) {

原创 動態規劃 最大子數組

這是一個經典的動態規劃問題,之前一直懵懵懂懂,今日看了不少解釋和理解,終於看到了一種讓我徹底理解的方法。 首先,問題是,求一個給定數組的一個連續子數組,和最大,給定數組的元素可正可負。 既然是動態規劃,就是不放假設已知當前最優解,求接下來

原创 Spring配置web.xml文件時遇到的問題

Could not open ServletContext resource [/WEB-INF/petstore-servlet.xml] 這是我第一次試驗spring第一個頁面跳轉時候碰到的問題,其實一個拼寫錯誤的問題, 在xml中

原创 OpenCV圖像匹配 (image retrieval)理論篇

前段時間,非常不幸的在wap面試中沒有做出第二題,題目太簡單了,我都不好意思在這裏說,只是當時太緊張了,腦子有點短路,時間太短,直接滾蛋了。 不過這段時間我還同時在做多媒體應用的作業:image retrieval 這個作業的要求是,用V

原创 最長迴文子串 leetcode 05 DP解法

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">找出最長迴文子串,馬上想到了用DP,用 dp[

原创 哈希的原理

哈希的原理和代價       哈希表和哈希函數是大學數據結構中的課程,實際開發中我們經常用到Hashtable這種結構,當遇到鍵-值對存儲,採用Hashtable比ArrayList查找的性能高。爲什麼呢?我們在享受高性能的同時,

原创 NIO入門詳解

NIO 入門 JDK 1.4 中引入的新輸入輸出 (NIO) 庫在標準 Java 代碼中提供了高速的、面向塊的 I/O。本實用教程從高級概念到底層的編程細節,非常詳細地介紹了 NIO 庫。您將學到諸如緩衝區和通道

原创 Leetcode 138 和 Java的深拷貝

今天做到leetcode的138題,題目是返回一個擁有隨機指針的鏈表的深拷貝。   由於我是用Java做的,先深入複習一下Java的對象拷貝機制。 Java類型和淺拷貝 Java的類型分爲值類型和引用類型。 其中值類型包括所有的基本類型,

原创 JAVA多線程

什麼SOCKET,RMI都不想說了,我只想說,多線程如果發現有的線程好像被阻塞了,那麼趕快調試一下,很有可能你根本就只啓動了一個線程。 而原因很有可能就是,我今天碰到的問題:在new線程的時候,千萬不要用實名變量,一定要用匿名變量去run

原创 小問題記錄:JAVA String.split

引用其他博主的一片博文,學習一下split的用法:原文地址http://yangzb.iteye.com/blog/1824761 在java.lang包中有String.split()方法,返回是一個數組。   1、“.”和“|”都是轉

原创 Reorder List

題意如下: Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do this in-plac

原创 leetcode unique BST

Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For example, Given n = 3

原创 leetcode majority element

題目: Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊

原创 Bloom Filter (布隆過濾器) 介紹以及簡單的Java實現

定義 布隆過濾器(Bloom Filter)是1970年由布隆提出的。它實際上是一個很長的二進制向量和一系列隨機映射函數。布隆過濾器可以用於檢索一個元素是否在一個集合中。它的優點是空間效率和查詢時間都比一般的算法要好的多,缺點是有一定的誤

原创 java中String的相等判斷(==和equals())詳解

以前只是一直用equals()來判斷字符串變量是不是和某個定值相等,知道這樣比較穩妥,但是我想有必要說說清楚這其中的原理。 首先,引入java常量池的概念,也就是編譯的時候,常量們會被確定在.class文件中,java常量池中一共有如下這