原创 十一:rand5到rand7及擴展

題目 給定一個函數f, 可以1~5的數字等概率返回一個。 請加工出1~7的數字等概率 返回一個的函數g。 給定一個函數f, 可以a~b的數字等概率返回一個。 請加工出c~d的數字等概率 返回一個的函數g。 給定一個函數f, 以p

原创 八:括號字符串最長有效長度

題目 給定一個括號字符串str,返回最長的能夠完全正確匹配括號字符字串的長度。 實現 import java.util.*; public class Main { public static void main(St

原创 一:買蘋果

題目 小虎去附近的商店買蘋果, 奸詐的商販使用了捆綁交易, 只提供6個每袋和8個 每袋的包裝包裝不可拆分。 可是小虎現在只想購買恰好n個蘋果, 小虎想購買盡 量少的袋數方便攜帶。 如果不能購買恰好n個蘋果, 小虎將不會購買。 輸入

原创 十:邊界都是1的最大正方形大小

題目 給定一個N×N的矩陣matrix,在這個矩陣中,只有0和1兩種值,返回邊框全是1的最大正方形的邊長長度、 例如 0 1 1 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 0 1 0 1 1 其中,邊框

原创 十九:“之”字形打印矩陣

題目 用zigzag的方式打印矩陣, 比如如下的矩陣 0 1 2 3 4 5 6 7 8 9 10 11 打印順序爲: 0 1 4 8 5 2 3 6 9 10 7 11 實現 import java.util.*; pub

原创 十八:超級洗衣機

題目 假設有 n 臺超級洗衣機放在同一排上。開始的時候,每臺洗衣機內可能有一定量的衣服,也可能是空的。 在每一步操作中,你可以選擇任意 m (1 ≤ m ≤ n) 臺洗衣機,與此同時將每臺洗衣機的一件衣服送到相鄰的一臺洗衣機。

原创 設計模式:建造者

定義與類型 定義:將一個複雜對象的構建和它的表示分離,使同樣的構建過程可以表示創建不同的表示 用戶只需指定需要建造的類型就可以得到它們,建造過程及細節不需要知道 類型:創建型 適用場景 如果一個對象有非常複雜的內部結構(很多的屬

原创 十七:1出現最多的行

題目 給定一個二維數組,只含有連續的0或連續的1,如果同時含有0和1,0肯定在1的左邊, 也可以一行中,全是0或者全是1,返回含有1數量最多的行 實現

原创 十四:數字字符串轉換爲字母組合的種數

題目 將給定的數轉換爲字符串, 原則如下: 1對應 a, 2對應b, ……26對應z, 例如12258 可以轉換爲"abbeh", “aveh”, “abyh”, “lbeh” and “lyh”, 個數爲5, 編寫一個函 數,

原创 二十:順時針打印矩陣

題目 用螺旋的方式打印矩陣, 比如如下的矩陣 0 1 2 3 4 5 6 7 8 9 10 11 打印順序爲: 0 1 2 3 7 11 10 9 8 4 5 6 實現 import java.util.*; public

原创 十二:Magic操作

題目 給一個包含n個整數元素的集合a, 一個包含m個整數元素的集合b。 定義magic操作爲, 從一個集合中取出一個元素, 放到另一個集合裏, 且操作過 後每個集合的平均值都大大於於操作前。 注意以下兩點: 1) 不可以把一個集

原创 191130技術週報

今天學習了JVM的體系結構以及堆的體系的結構的一部分 首先,來說一下JVM的體系結構 JVM的主要的空間分爲方法區,堆區,虛擬機棧,本地方法棧,程序計數器 其中方法區和堆區是共享的,虛擬機棧、本地方法棧和程序計數器是屬於線程私有的

原创 JVM

Java7 堆在邏輯上的分爲新生代 + 老年代 + 永久區 Java8 堆在邏輯上分爲新生代 + 老年代 + 元空間 堆在物理上分爲新生代 和 老年代 當new一個對象時,是new在新生代的伊甸區 點贊 收藏

原创 Spring IoC控制反轉

創建Spring項目的步驟 1.新建 java project 2.導入jar: 必須的jar: 1)spring的核心:spring-beans.jar,spring-core.jar,spring-context.jar,sp

原创 JVM---內存結構

程序計數器 Program Counter Register 是記住下一條JVM指令的執行地址 特點 是線程私有的 不會存在內存溢出 虛擬機棧 每個線程運行所需要的內存,成爲虛擬機棧 每一個棧是由多個棧幀組成,棧幀是每個方法運