lua學習小記(1)

        決定學一門動態指令碼語言,感受一下不受拘的coding,發現比較流行的又不是只能用來寫網頁的有python,lua,ruby等。lua兼具運行效率高,表達能力強的優點,成了我的首選。更何況“月亮”聽起來要比“蟒蛇”和“紅寶石”文藝多了。       這是第一篇,但我不知道會不會寫第二篇。題目括弧裡的數字是1,因為lua裡的數組下標習慣上是從1開始的,當然從-1234開始也沒有錯,但不建議在一個團隊中使用,尤其團隊成員有暴力傾向的話。     

演算法探討——Top K演算法詳細解析

 Top K演算法詳細解析—百度面試問題描述:這是在網上找到的一道百度的面試題:搜尋引擎會通過記錄檔把使用者每次檢索使用的所有檢索串都記錄下來,每個查詢串的長度為1-255位元組。假設目前有一千萬個記錄,這些查詢串的重複度比較高,雖然總數是1千萬,但如果除去重複後,不超過3百萬個。一個查詢串的重複度越高,說明查詢它的使用者越多,也就是越熱門。請你統計最熱門的10個查詢串,要求使用的記憶體不能超過1G。問題解析:【分析】:要統計最熱門查詢,首先就是要統計每個Query出現的次數,然後根據統計結果,

單例對象的lua實現

        前幾天看了雲風大俠用lua寫的OOP模板,膜拜不已,用這個模板會讓人誤以為lua是顯式支援OOP的,而感覺不到這是用lua現成的文法寫就的模板。        不過個人還是抗拒用這個模板,因為一旦用這個模板實現OOP,就沒法控制一些細節。儘管可以擴充這個模板,但總不如自己寫的元表靈活。比如,這個模板不支援單例對象。       

紙上談兵: 數學歸納法, 遞迴, 棧

作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!  數學歸納法數學歸納法(mathematical induction)是一種數學證明方法,常用於證明命題(命題是對某個現象的描述)在自然數範圍內成立。隨著現代數學的發展,自然數範圍內的證明實際上構成了許多其他領域(比如數學分析)的基礎,所以數學歸納法對於整個數學體系至關重要。 數學歸納法本身非常簡單。如果我們想要證明某個命題對於自然數n都成立,那麼:第一步 證明命題對於n = 1

紙上談兵: 演算法與資料結構數學歸納法, 遞迴, 棧左傾堆 (leftist heap)

演算法和資料結構是電腦科學的核心內容。作為程式員,編程是我們的實戰項目。然而,寫出程式還不夠。一個程式在應對一些大型而複雜的情況時,會耗費大量的時間。我們可以很容易寫出一個從檔案中找到一個詞的程式,比如逐詞掃描,看是否相符。但如果我們的檔案有幾十TB,而且要從檔案中找到上百個詞,逐個掃描的辦法就幾乎不可行。我們需要最佳化程式,以便我們的程式可以應對複雜問題。演算法研究解決問題的方法,而資料結構則是設計一種更好的組織資料和使用資料的方式。兩者有很強的相互依賴關係,所以往往放在一起討論。 我將這一系

紙上談兵: 左傾堆 (leftist heap)

作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝! 我們之前講解了堆(heap)的概念。堆是一個優先隊列。每次從堆中取出的元素都是堆中優先順序最高的元素。在之前的文章中,我們基於完全二叉樹(complete binary tree)實現了堆,這樣的堆叫做二元堆積(binary heap)。binary heap有一個基本要求: 每個節點的優先順序大於兩個子節點的優先順序。在這一要求下,堆的根節點始終是堆的元素中優先順序最高的元素。

一篇文章點醒我

現在有A,B,C,D,E五個人,要分配他們當中若干人等去做任務,但是這幾個人性格乖張,必須要滿足以下幾個條件: 若A去,B也要去D,E兩個人中至少要一人去,B,C兩人中只能去一人,C,D兩人要麼都去,要麼都不去,E若是去,則A和D都要去。 現在我應該排誰去才能滿足以上幾個人的要求呢?

快速排序之三青年版

/// <summary> /// Quick Sort /// </summary> /// <typeparam name="T"></typeparam> /// <param name="array"></param> public static void QuickSort<T>(T[] array,int left,int

協議森林15 先生,要點單嗎? (HTTP協議概覽)

作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝! 我們在TCP流通訊中說明了,TCP協議實現了資料流的傳輸。然而,在實踐中發現,人們往往習慣以檔案為單位傳輸資源,比如文字檔,影像檔,超文字文件(hypertext document)。超文字文件中包含有超連結,指向其他的資源。超文字文件是全球資訊網(World Wide

iPhone App 開發第一步:從零到真機調試HelloWorld

 iPhone App 開發第一步:從零到真機調試HelloWorld       iCc原創,轉載請註明出處!       最近才開始研究iPhone開發,由於沒有Mac,採用的是AMD CPU + Win7 + VMWare之後安裝Mac OS X Snow Leopard,再升級,再安裝XCode 4.2和iOS SDK 5.0,是最為費勁和折騰的一種方式了,如果條件允許,請勿搞些折騰,費時費力。此後真機調試用的是自己的iPhone

三行代碼實現快速排序

一直對函數式編程的魔力所吸引,對λ演算來簡化編程,對動態語言的特性有很濃厚的興趣,也自學尋找多方資料,現在列舉一個我冥思苦想了好久才真正懂得的函數式的快速排序。 /// <summary>/// 快速排序函數/// </summary>/// <typeparam name="T"></typeparam>/// <param name="list"></param>///

為何我決定以後都用快速排序

排序,看似很簡單的問題,實則有大內容。我們人人都會玩撲克牌,而每次向牌堆摸牌插入手中時,無意間,我們已在排序。我們每摸出一張牌,都會按大小順序把它放入合適的位置,即將這次摸來的牌插入手中首次比其大的牌之前。因而每次放完牌,我們手中的牌總是有序的。這種方法甚是簡單,以至於我在這裡說都怕被人笑話。但是,我們要慶幸的是幸好一副撲克牌只有54張,而不是5400,54000張。否則,你再這樣排序試試。簡單的方法必然付出簡單的代價,那就是耗時太嚴重。為此,總有一些人不滿足簡單耗時的方法,他們努力找出更加優越

判斷單鏈表是否存在環及求環進入點

判斷單鏈表是否存在環及求環進入點演算法描述:1、先判斷是否有環設定兩個指標(fast, slow),初始值都指向頭,slow每次前進一步,fast每次前進二步,如果鏈表存在環,則fast必定先進入環,而slow後進入環,兩個指標必定相遇。(當然,fast先行頭到尾部為NULL,則為無環鏈表) 1 bool isExitsLoop(list *head) 2 { 3 list *slow = head, *fast = head; 4 5 while ( fast

該不該樂諸葛

        作為一個自以為是Geek的技術男,一大缺點就是玩遊戲的智商偏低,不會玩魔獸,不會玩DOTA,只會玩紅警,和大富翁之類女生們喜聞樂見的遊戲……甚至,一度不會玩三國殺……還是應該多玩點不同類型的遊戲,以增見聞,小玩怡情,大玩傷身……        以下引入正題:        今天一8人局三國殺中,我是忠臣大喬,有一反賊諸葛,場上沒有司馬,問題是,大喬該不該樂諸葛?       

通過迭代(非遞迴)及遞迴將單鏈表逆序

通過迭代(非遞迴)及遞迴將單鏈表逆序老生常談的問題了,不過很多地方面試還是很喜歡問這個問題。實際工程中感覺用處不大,需要逆序的儲存為什麼要選擇單鏈表呢?為什麼不用list(in c++)或iterator(in any

Git從零積累——最簡單的工作命令

在~/.ssh/config中使用vim配置主機資訊。Host XXX uesr git HostName www.XXX.com Port 8000 從伺服器上下載項目git clone Host:projectName.git Host為1中的XXX,projectName為伺服器上的項目名稱 更新本地代碼git commit -a -m 'some information about the current version' 將代碼同步到伺服器git push

HDOJ 1240,兼談A*演算法之實現

題目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1240        題目描述很長,其實題意很簡單——在一個3維立方體中,求兩座標點間的最短距離。資料規模不大,邊長至多為10,也就是一共1000個座標點,也許用BFS也能A,不過我還是偏愛用更快的A*。於是這道題的重點也就在於寫個A*演算法,首先貼個A*演算法的虛擬碼(之前轉載過,不過沒貼全):Add START to OPEN listwhile OPEN not emptyget node n

演算法探討——再議經典演算法問題:求最大子序列和、絕對值最大子序列和以及其區間

演算法探討——再議經典演算法問題:求最大子序列和、絕對值最大子序列和以及其區間給定任一數字序列,如{-5,4,-20,16,-2,-3},求出其最大子序列和,絕對值最大子序列和以及對應的區間,在這個例子中,人肉計算可知最大子序列和為16,區間為[3,3)(數組下標從0開始),而絕對值最大子序列和為-21,區間為[0,2],那麼演算法如何描述及實現呢?在經典的書籍《資料結構與演算法分析

大數運算的代碼

        翻出一段大二時寫的代碼,大數運算,包括四則,階乘,乘方。大數的資料結構是鏈表,每個節點存4位元,所以理論上可計算任意大的整數。        剛剛測試了一下,在GCC 4.2下可以正常編譯運行,頓時內牛滿面(VC 6.0下寫的代碼)。在此貼上原始碼。#include<stdio.h>#include<stdlib.h>typedef int ElemType;typedef struct NodeType{ ElemType data; NodeType

SSH免密碼登陸教程

SSH免密碼登陸教程假設 A 為客戶機器,B為目標機;要達到的目的:A機器ssh登入B機器無需輸入密碼;加密方式選 rsa|dsa均可以,預設dsa做法:1、登入A機器 2、ssh-keygen -t [rsa|dsa],將會產生密鑰檔案和私密金鑰檔案 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub3、將 .pub 檔案複製到B機器的 .ssh 目錄, 並 cat id_dsa.pub >>

總頁數: 61357 1 .... 5723 5724 5725 5726 5727 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.