顯示具有 程式 標籤的文章。 顯示所有文章
顯示具有 程式 標籤的文章。 顯示所有文章

2016/7/19

[LeetCode] Longest Substring Without Repeating Characters 求出不重覆字母下最長的子字串長度 (No.3)

Given a string, find the length of the longest substring without repeating characters.
Examples:
Given "abcabcbb", the answer is "abc", which the length is 3.
Given "bbbbb", the answer is "b", with the length of 1.
Given "pwwkew", the answer is "wke", with the length of 3. Note that the answer must be a substring"pwke" is a subsequence and not a substring.
Ref: https://leetcode.com/problems/longest-substring-without-repeating-characters/

2016/7/15

[Java] 使用JavaMail從GMail寄信以及使用EWS API從Exchange寄信

今天在研究如何使用Java Mail的API從GMail寄信出去,以及使用EWS API從Exchange寄信,寫了一些測試用的Code分享給大家。

一、用JavaMail從GMail寄信
因為GMail講求安全性,所以在Java Mail的設定上會比較複雜, SMTP 伺服器的通訊埠設為 465 (適用 SSL/TLS) 和 587 (適用 STARTTLS),而在這個例子,我們使用STARTTLS,這個協定就是為了加密從用戶端到伺服器端的連線,會對EMAIL在寄送時更加安全。另外,GMail也有開啟SMTP AUTH的功能,所以我們要得到使用者的帳號密碼才可以寄送。
而如果你有開兩步驟,需要另外建立一個「應用程式密碼」;沒有開兩步驟,則是需要開起「允許安全性較低的應用程式」才能夠正確執行,要不然會報錯。

部份程式碼:


完整程式碼:
https://github.com/jimc1682000/JavaMailLab/blob/master/src/tw/com/jimmy/lab/SendFromGMailUsingJavaMailLab.java

Ref:
http://pclevin.blogspot.tw/2014/11/java-mail-gmail-smtp-server.html
https://support.google.com/mail/answer/78775?hl=zh-Hant

2016/7/13

[LeetCode] Two Sum 兩兩相加 (No.1)

Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution.
Example:
Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].
UPDATE (2016/2/13):
The return format had been changed to zero-based indices. Please read the above updated description carefully.
Ref: https://leetcode.com/problems/two-sum/

2016/7/11

[LeetCode] Execel Sheet Column Title 表單標題翻譯 (No.168)

Given a positive integer, return its corresponding column title as appear in an Excel sheet.
For example:
    1 -> A
    2 -> B
    3 -> C
    ...
    26 -> Z
    27 -> AA
    28 -> AB 
Ref: https://leetcode.com/problems/excel-sheet-column-title/


2016/7/8

[LeetCode] Dungeon Game 地牢遊戲 (No.174)

The demons had captured the princess (P) and imprisoned her in the bottom-right corner of a dungeon. The dungeon consists of M x N rooms laid out in a 2D grid. Our valiant knight (K) was initially positioned in the top-left room and must fight his way through the dungeon to rescue the princess.
The knight has an initial health point represented by a positive integer. If at any point his health point drops to 0 or below, he dies immediately.
Some of the rooms are guarded by demons, so the knight loses health (negative integers) upon entering these rooms; other rooms are either empty (0's) or contain magic orbs that increase the knight's health (positive integers).
In order to reach the princess as quickly as possible, the knight decides to move only rightward or downward in each step.

[LeetCode] 前言

最近發現了一個不錯的網站,叫做LeetCode,這個網站裡面有著大量的題目,大部份都是在面試程式設計時常常被問到的問題,很適合想要找工作的人來練練手,又或是覺得自己的技術底不夠,想要再加強的人,來練習一下。
他內建了線上執行CODE和判斷程式是否執行錯誤/逾時的功能,所以有些時候,就算你的演算法都是正確的,但只要逾時,那麼還是不算通過,所以這個時候就可以研究一下其他人是怎麼寫的,他內建有論壇功能,而你也可以使用題目下去搜尋,基本上都可以找到許多參考資料。
也許有的人會覺得這種題庫的東西很沒有意義,而且很多答案也都可以上網找到,那更沒有練習的必要,但我認為,至少對我而言,有些解法我一開始是沒辦法直覺想到,需要另外花時間才能夠思考得到,在現在分秒必爭的大環境下,如果我能夠直覺想到一些解法,我相信一定有著很大的加分,更何況有些解法是我想都沒有想過的呢?
之後我會於週一到週五每天更新一篇LeetCode解法的文章,作為一個紀錄,而大家如果有什麼問題,也都可以隨時討論,雖然我不見得能夠直接回答,但至少我也會找出一些相關資料再提供大家討論。
那麼,就開始CODING吧!

2015/12/28

[心得] TDD已死?總結一下最近我對於程式測試的想法

最近在研究程式設計的測試部份,總結一下我目前對測試的看法,
因此如果覺得測試是狗屁的,可以跳過不看這篇文章;
而如果想要了解更多測試的知識,可以參考一下: