原创 two sum / three sum

一:TWO SUM, Given an array of integers, return indices of the two numbers such that they add up to a specific target. Yo

原创 《編程珠璣》之位圖技術

編程珠璣,相當不錯的一本書。其中很多金句需要在工作的過程當中,銘記於心: chapter 1,書中的金典語句: @1,明確問題(問對正確的問題),這場戰役就成功了90%. @2,幾分鐘的仔細研究可以大幅削減代碼的長度、程序員的時間和程序系

原创 《編程珠璣》之一維向量旋轉

chapter 2 ,書中的觀點: @1,問題定義(確定用戶的真實需求)是程序設計的根本。 @2,優秀的程序員都有點懶,他們坐下來努力思考最佳解決問題的方法,而並不急於使用最開始的想法編程。   第二章作者直接給出三個問題,找出一個40億

原创 關於 unix SIGCHLD 信號的一些思考

在看項目的代碼,對父進程fork的子進程的各種死法,父進程會受到子進程什麼樣的信號產生了疑慮。 通過細看apue,可以整理出一下流程: 對於子進程(abort, ctrl+c, a/0, 被kill, *invalid_addr 等等)各

原创 配置下發時內存變化曲線

工業生產環境,有時對內存的使用是極爲苛刻的。 在項目預言時,要提前識別可能潛在的風險,將這些風險點一一列出來。除了要保證程序的正確性外,最需要關注的是內存佔用以及性能。而在內存方面,既要理論計算(malloc分配之類)新程序會佔用多少內存

原创 基本實用的linux命令

1,在dir目錄中查找file文件: find  dir  -name file 2,在dir目錄中搜索含有str字符串的文件: grep  -nr  str  dir 3,其他常用的工具:過濾 grep,用指定分隔符取某個字段值 awk

原创 一次改動引發的血案

僅以此作爲程序員警示文檔。 摘要:         改代碼之前,一定要前前後後理解一遍原代碼的邏輯,然後確定最優的方案,才下手去改,改完邏輯重新理一遍要自測! 對於新加的特性,要分析對原功能特性有沒有影響。 需求背景:        在網

原创 linux signal 函數

在看項目的代碼,對父進程fork的子進程的各種死法,父進程會受到子進程什麼樣的信號產生了疑慮。 通過細看apue,可以整理出一下流程: 對於子進程(abort, ctrl+c, a/0, 被kill, *invalid_addr 等等)各

原创 寫好一個函數的基本“規矩”

       函數是軟件產品的細胞。如何寫好一個命名規範,功能清晰,魯棒性強的函數,是一個合格程序員的基本素養。 條例1: 一定要對非法輸入做錯誤處理。         寫函數最忌諱的就是不對非法輸入做錯誤處理。這樣的函數放到一個龐大複雜

原创 幾個 Git 相關的博文

Git工具  0,安裝 Git  + (git-bash ,  TortoiseGit) 1,理解Git的四個存儲區和五種狀態的好博文 https://geektutu.com/post/git-four-areas-five-state

原创 問問題的方式不同,得到的結果也有大不同

怎麼問問題,也是一門學問 人都不是無所不知的,對於需要知道,但是自己又不清楚的東西,最直接的就是問別人。 個人認爲:問是獲取知識的一種途徑,並且是最重要的一種。 工作一年半,我總結出“問”的三要素:一:我需要獲得什麼信息。 二:找誰問。

原创 shell腳本遇到的一些坑

1,不同腳本共用同一個全局變量引發的血案 b腳本引用另一個a腳本,類似於C語言裏面的 include 引用,C衝突了還好,有靜態編譯檢查;但是 shell 腳本衝突了就甭想它給你提示,除非你目的就是要用a腳本的變量,否則腳本之間變量衝突產

原创 ZigZag Conversion

The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to displa

原创 Longest Palindromic Substring

Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Exa

原创 Add Two Numbers

You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order