原创 Address Sanitizer 簡介

C++ 之痛 由於 C++ 這門編程語言與硬件(主要是內存)非常貼近,在 C++ 編程中經常遇到的的一個問題就是內存錯誤,其中可能包括: 內存泄漏:忘記 free 之前在堆中申請的內存,並丟失了所申請內存的指針; 內存訪問越界:包括對全局

原创 [LeetCode] 單向鏈表常用操作

LeetCode 中的單鏈表的結構定義一般是: struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }

原创 雜記:騰訊暑期實習 Web 後端開發面試經歷

今天面試(一面)騰訊暑期實習 Web 後端開發,一言難盡。 第一部分,常規的自我介紹。 介紹完,面試官問我對人工智能有什麼理解?深度學習和機器學習的區別?對調參有什麼見解?語音識別中怎樣運用了機器學習?這一部分直接讓我懵掉了。可能是因爲我在

原创 雜記:Python 兩坑

近日寫代碼又遇到兩個 Python 的坑,覺得值得記錄。 遞歸傳參問題 Python 裏傳參的實現是 assignment,但由於 Python 裏都是對象,除了幾個基本類型,assignment 基本都是引用的賦值,因此在遞歸裏,你傳的參

原创 騰訊暑期實習 Web 後端開發面試經歷

今天面試(一面)騰訊暑期實習 Web 後端開發,一言難盡。 第一部分,常規的自我介紹。 介紹完,面試官問我對人工智能有什麼理解?深度學習和機器學習的區別?對調參有什麼見解?語音識別中怎樣運用了機器學習?這一部分直接讓我懵掉了。可能是因爲我在

原创 Python 實現 KD-Tree 最近鄰算法

這裏將寫了一個KDTree類,僅實現了最近鄰,K近鄰之後若有時間再更新: from collections import namedtuple from operator import itemgetter from pprint impo

原创 Python 實現整數線性規劃:分枝定界法(Branch and Bound)

今天做作業,要實現整數線性規劃的分枝定界法算法。找了一些網上的博客,發現都很屎,感覺自己寫的這個比較清楚、規範,所以在此記錄。如有錯誤,請指正。 from scipy.optimize import linprog import numpy

原创 Python 官方文檔解讀(1):66 個內置函數

Python 解釋器 (CPython 3.7)內置有 66 個函數,這些函數在任何時刻都是可用的。此文是爲了對這 66 個函數進行簡單的梳理,便於以後可能用到它們時能想到。 1. abs(x) 返回一個數的絕對值。參數x可以是int、fl

原创 Python 列表切片陷阱:引用、複製與深複製

Python 列表的切片和賦值操作很基礎,之前也遇到過一些坑,以爲自己很懂了。但今天刷 Codewars 時發現了一個更大的坑,故在此記錄。 Python 列表賦值:複製“值”還是“引用”? 很多入門 Python 的人會犯這樣一個錯誤:在

原创 Python @property 詳解

本文講解了 Python 的 property 特性,即一種符合 Python 哲學地設置 getter 和 setter 的方式。 Python 有一個概念叫做 property,它能讓你在 Python 的面向對象編程中輕鬆不少。在

原创 從 Python 快速啓動 CGI 服務器

很多人知道 Python 3 可以快速啓動一個 HTTP 服務器: $ python3 -m http.server 8000 今天我查閱 http.server 模塊發現它支持運行 CGI 腳本,只要加上 --cgi 選項。 入門 Web

原创 Python 官方文檔解讀(2):threading 模塊

使用 Python 可以編寫多線程程序,注意,這並不是說程序能在多個 CPU 核上跑。如果你想這麼做,可以看看關於 Python 並行計算的,比如官方 Wiki。 Python 線程的主要應用場景是一些包含等待或 I/O 的任務,比如與遠程