2022年5月12日 星期四

 Leetcode 1679. Max Number of K-Sum Pairs

    version_1:  

     Runtime: 150 ms, faster than 89.17% of C online submissions for Max Number of K-Sum Pairs.

int compare(const void *a, const void *b){
    return *(int *)a - *(int *)b;
}

int maxOperations(int* nums, int numsSize, int k){
    qsort(nums, numsSize, sizeof(int), compare);

    if (numsSize == 1) return 0;
    int times = 0;
    int i = 0;
    int j = numsSize - 1;
    while(i < j){
        if(nums[i] + nums[j] == k){
            i++;
            j--;
            times++;
        }
        else if(nums[i] + nums[j] > k) j--;
        else i++;
    }
    
    return times;
}


 

2021年12月16日 星期四

 In Visual Studio Code, create virtual enviroment

python -m venv .venv

and install package of VSC name is PowerShell

2021年5月4日 星期二

差點被淹掉的宿舍......

        經過一整天的學習,想說回到溫暖的宿舍水泥床上睡覺,剛進門我天才的同學B說有隻蟋蟀跑進來,讓他前一天晚上睡不著,他說應該是旁邊的窗戶沒關好,導致蟋蟀從那個洞跑進房間,當一開始聽到蟋蟀再叫,他就想說把蟋蟀趕出門,趕出門??你要不要寫一張紙條給他看好了?
天啊!他根本連趕出門都不知道,根本不知道應該找東西先抓住再放生,他就拿一條紙試圖趕它.......先說,窗戶就是B關窗戶關太大力把旁邊拉開的,然後知道被打開也不去確認導致。B很雷+1。

        第一戰,我已經三好耳塞要準備睡覺,他老大就拿個掃把想要把蟋蟀趕出來?GOD!! 你愈趕它愈跑深,這應該是常識吧?OK......我也跟他說了,但那個北七他繼續OTZ,半夜兩點耶!!!
        中場,他用累了結果那隻蟋蟀愈跑愈深,在旁邊偷聽的我以為他就繼續玩他的電腦,把薄膜鍵盤打得跟機械鍵盤的青軸一樣使我很難睡,這也是我為什麼要戴耳塞的原因,耳塞對於他打鍵盤跟嚎叫聲只能減低聲音,但是卻可以完整濾掉蟋蟀聲,爽!讓他前一個晚上體驗一下我平常接近崩潰的感覺,就像剛剛說的我以為他已經放棄了。
        決戰,正當我以為他已經放棄以及我快睡著的時候,我竟然聽到水聲???
我已經想像到他拿水來灌了.......經過兩分鐘,我快受不了了...抬頭一看,如果可以昏倒有多好,他老大真的拿水還灌,旁邊一堆東西,木櫃子、鞋盒等等的一堆東西  他就直接拿水灌!!!!!!
我已經無語了,這時最強和事佬出現,室友C登場,他看了也傻了好久,對於真的智障,說話需要斟酌,我已經想睡到不想吐槽B了,經過C一番開導後,B說他被蟋蟀吵到崩潰,所以拿水來沖,直到淹水他才喚回他的理智,我只好說我能理解那種感覺:「我剛剛看到這攤水,我的理智也差點飛走」。我心中還在想說,你不會是因為停水,所以想要儲水吧..........
        
        事後,B跟C一起把水舀出去,我就在場上蓋上一張魔法卡"明天早九有課"並結束這回合,看了一下手錶,四點........我的理智又差點飛走.....

2019年7月14日 星期日

How to access the Raspberry Pi desktop with a remote desktop connection

最近在摸索Raspberry pi 想說每次都要接HDMI太麻煩了,但是SSH以及Putty都是command line,但是我要圖形介面GUI~~~~~!!
所以找個可以遠端連線的方法,其中有一個"XRDP"可能是腦殘吧~或是找的文章都........
反正呢~都有些問題,所以最後找到VNC-Viewer,好用!


  • 輸入 sudo raspi-config:


  • 選擇 Interfacing Option >> VNC >> enable:
                然後就reboot raspberry pi

  • 之後在windows裡面打開VNC-Viewer >> File >> New connection :
  • 接著在VNC Server的地方輸入 Raspberry Pi 的IP,在name的地方隨便輸入名稱就可以建立連線了!
    Raspberry Pi 的ip 只要在terminal 輸入 ifconfig 就可以顯示ip位址。
  • 最後只要在輸入Raspbian 的帳號密碼,預設帳號:pi ,密碼: raspberry




最後留下一個覺得寫得滿齊全的網站,也是我的參考網站

2019年7月5日 星期五

Gram-Schmidt process 葛蘭-史密特正交程序

我只把主要的部份留在這邊,剩下要怎麼輸入輸出就留給需要的人自己定義吧~
這邊只有得出正交基底{v1, v2, v3},名字取得一點也不專業,隨便拉~
u_vectors 是基底。
v_vectors 是正交基底。
tmp_vectors 是暫存正交基底所需要減掉的值。



void orthogonal_projection() {

        //內積計算
        v_vectors[0] = u_vectors[0];    //第一個v1 = u1        

        cout << endl << endl;

        for (int i = 1; i < nos; i++) {
            proj_wi_ui(i);
            for(int j = 0; j < i; j++){
                for(int k = 0; k < noVs; k++){

                    v_vectors[i][k] = u_vectors[i][k]  - tmp_vectors[j][k];

                }
            }
        }
    }

    void proj_wi_ui(int ui_index) {

        double denominator = 0;
        double inner_p = 0;
        //內積
        int i = 0, j;
        cout << endl;
        for (i; i < ui_index; i++) {    // Vi

            for (j = 0; j < noVs; j++) {    // Vi {1, 2, 3, 4 ...n} ex. 1 2 3 ... n

                inner_p += (u_vectors[ui_index][j] * v_vectors[i][j]);  //內積 <Ui * V1>
                denominator += pow(v_vectors[i][j], 2);                 // || Vi ^2 ||
            }

            for (int c = 0; c < noVs; c++) {
                tmp_vectors[i][c] += (inner_p / denominator) * u_vectors[i][c];
            }
            denominator = inner_p = 0;
        }       
    }

2019年5月14日 星期二

Python : CSV小計算

為了要從大數據裡面的csv檔撈出資料,
605是郵遞區號,從資料當中找出郵遞區號為'605'的row
因為row是一串數字,所以要從row[1] 是因為資料裡的[1]是我要的那一串數字,數字的第8~10就是郵遞區號



import csv

def csv_operater():
    path1 = "csv的檔案位置"    path2 = "csv的檔案位置"

    with open(path1, "r") as csvFile:
        with open(path2, "w", newline='') as csvWrite:
            i = 0            reader = csv.reader(csvFile)
            writer = csv.writer(csvWrite)
            for row in reader:
                if '605' in row[1][8:11]:
                    writer.writerow(row)

        csvWrite.close()
    csvFile.close()

def test():
    with open("csv檔案位置", "r") as csvFile:
        reader = csv.reader(csvFile)
        sum = 0        sum2 = 0        proxy_list = ['60591', '60593', '60594', '60595', '60596', '60598']
        proxy_count = [0, 0, 0, 0, 0, 0]
        town = []
        town_count = []
        for row in reader:
            sum2 += 1            if row[1][8:13] not in town:
                   #writer.writerow(row)                town.append(row[1][8:13])
                print(town)
                town_count.append(0)
            if row[1][8:13] in town:
                town_count[town.index(row[1][8:13])] += 1
            if '60593' in town:
                print("find")

        for i in range(len(town)):
            print("{1}".format(town[i], town_count[i]))



def print_ari():
    with open("csv檔案位置", "r") as csvFile:
        reader = csv.reader(csvFile)
        i = 0        for row in reader:
            if i < 10:
                print(row)
            i += 1
#csv_operater()test()
#print_ari()

2019年1月9日 星期三

PHP7 顯示欄位的方法範例

Posted: 2011/03/12 in PHP
0
index.php程式碼↓
<p>
<?
$link=mysqli_connect(“localhost","root","123″) or die (“無法開啟Mysql資料庫連結"); //建立mysql資料庫連結
mysqli_select_db($link, “abc"); //選擇資料庫abc
$sql = “SELECT * FROM test"; //在test資料表中選擇所有欄位
mysqli_query($link, ‘SET CHARACTER SET utf8’); // 送出Big5編碼的MySQL指令
mysqli_query($link,  “SET collation_connection = ‘utf8_general_ci"");
$result = mysqli_query($link,$sql); // 執行SQL查詢
//$row = mysqli_fetch_assoc($result); //將陣列以欄位名索引
//$row = mysqli_fetch_row($result); //將陣列以數字排列索引
$total_fields=mysqli_num_fields($result); // 取得欄位數
$total_records=mysqli_num_rows($result);  // 取得記錄數
?>
</p>
<table  border="1″>
<tr>
<td>id</td>
<td>name</td>
<td>age</td>
</tr>
<? for ($i=0;$i<$total_records;$i++) {$row = mysqli_fetch_assoc($result); //將陣列以欄位名索引   ?>
<tr>
<td><? echo $row[id];   ?></td>        <!–印出id欄位的值–>
<td><? echo $row[name];   ?></td> <!–印出name欄位的值–>
<td><? echo $row[age]; ?></td>       <!–印出age欄位的值–>
</tr>
<?    }   ?>
</table>