趣題系列:棋盤覆蓋問題

數學中往往有很多這樣的例子:一個很複雜的數學難題,確是用一種極為精巧簡潔的方式所證明。這些證明往往體現著數學的精妙,十分令人折服。我們看一個經典的例子:

趣味題系列(1):史密斯夫婦握手問題

題目:史密斯夫婦邀請另外四對夫婦就餐,已知他們每個人都不和自己握手、不和自己的配偶握手、且不和同一個人握手一次以上。在大家見面握手寒暄後,史密斯問大家握手了幾次,每個人的答案都不一樣。問:史密斯太太握手幾次解答:1. 總共10個人,每個人不與自己握手,不與配偶握手,不與同一個人握超過一次手,所以每個人最多握8次手,最少0次; 2. Mr.Smith問其它9個人握了幾次手,各人回答不一樣,所以每個人的握手次數剛好為0-8次,每種不同次數有1個人; 3.

n個數中找最大的k個數問題求解(要求複雜度為O(n))

 首先我們都知道可以將n個元素建一個最(大|小)堆,O(n)。 下面一個很常見的做法就是,每步從堆頂拿掉一個元素,拿k次,就把前k個元素拿出來了。但問題是,每步拿掉一個元素之後,都需要log(n)的時間來將堆再次最(大|小)化。所以拿k次的複雜度就是 klog(n)。有沒有可能更低呢?

程式員面試題精選(28):字串的排列

題目:輸入一個字串,列印出該字串中字元的所有排列。例如輸入字串abc,則輸出由字元a、b、c所能排列出來的所有字串abc、acb、bac、bca、cab和cba。分析:這是一道很好的考查對遞迴理解的編程題,因此在過去一年中頻繁出現在各大公司的面試、筆試題中。我們以三個字元abc為例來分析一下求字串排列的過程。首先我們固定第一個字元a,求後面兩個字元bc的排列。當兩個字元bc的排列求好之後,我們把第一個字元a和後面的b交換,得到bac,接著我們固定第一個字元b,求後面兩個字元ac的排列。現在是把c

Osip2和eXosip協議棧的簡析

Osip2是一個開放原始碼的sip協議棧,是開原始碼中不多使用C語言寫的協議棧之一,它具有短小簡潔的特點,專註於sip底層解析使得它的效率比較高。eXosip是Osip2的一個擴充協議集,它部分封裝了Osip2協議棧,使得它更容易被使用。 一、介紹 Osip2是一個開放原始碼的sip協議棧,是開原始碼中不多使用C語言寫的協議棧之一,它具有短小簡潔的特點,專註於sip底層解析使得它的效率比較高。但缺點也很明顯,首先就是可用性差,沒有很好的api封裝,使得上層應用在調用協議棧時很破碎;其次,只做到了

演算法導論學習之加權中位元

加權中位元定義: 加權中位元求解:   代碼實現:#include <iostream>#include <time.h>using namespace std;template <typename T>int Partion(T seq[],int p,int r){    T key=seq[r];    int i=p-1;    for(int j=p;j<r;j++)    {        if(seq[j]<=key)       

最長上升子序列的動態規劃的O(n^2)求解和貪心O(nlgn)求解

題目描述:給你一個數列,一次操作是指將某個數移到數列中別的位置上去,然後問最少要幾次操作才能讓數列變得有序。例如,數列7,1,3,2,6,5就只需要三次移動,把3移到2後面,把5移到6前面,再把7移到最後面即可。 問題等價轉化:其實就是一個最長上升子序列問題。因為整個操作過程實質上可以等價地看作是,把要移動的數先全部取出來,再挨個放回適當的位置。這就要求取出要移動的數後,剩下的那些數本身是有序的。若希望要移動的數越少越好,那也就等於說是剩下的不動的數要越多越好。 最長上升子序列問題:給出一個由n

詳細解釋:nginx中ChsHttpUpstreamModule模組配置及各個參數含義

該模組為後端伺服器提供簡單的負載平衡(輪循調度和用戶端 IP)。樣本:upstream backend { server backend1.example.com weight=5; server backend2.example.com:8080; server unix:/tmp/backend3;} server { location / { proxy_pass http://backend; }}指令:ip_hash文法: ip_hash預設值: 無語境:

程式員面試題精選(27):二元樹的深度

題目:輸入一棵二元樹的根結點,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。例如:輸入二元樹:                                            10                                          /     /                                        6        14                            

快排為什麼那樣快

目錄0. 前言1. 猜數字2. 稱球3. 排序    3.1 為什麼堆排比快排慢    3.2 為什麼快排其實也不是那麼快    3.3 基排又為什麼那麼快呢4. 資訊理論!資訊理論?5. 小結 0. 前言知道這個理論是在TopLanguage上的一次討論,先是g9轉了David MacKay的一篇文章,然後引發了牛人們的一場關於資訊理論的討論。Anyway,正如g9很久以前在Blog裡面所說的: 有時無知是福。俺看到一點新鮮的科普也能覺得造化神奇。剛才讀Gerald Jay

tcp要點學習-中斷連線

主要部分,四次握手: 中斷連線其實從我的角度看不區分用戶端和伺服器端,任何一方都可以調用close(or

[轉帖]輸入一個新的網址後到完全顯示頁面,瀏覽器做了哪些工作?

原文地址:http://topic.csdn.net/u/20100105/11/382a3b43-e0a7-4adf-aa91-bf6ff7e25539.html  前段時間接到XX公司的電話面試,問到了類似於這樣幾個題目, 從輸入一個新的網址到使用者完全看到頁面,這期間瀏覽器做了哪些工作? 輸入網址後瀏覽器是先讀取快取檔案夾還是先串連伺服器? ..... 其實我個人覺得他問這個題重點是考瀏覽器緩衝機制,資源下載序,css渲染與js執行順序. 這個問題其實聽起來是個非常基礎的題目,但是感覺自已

hook執行個體小記

dll部分://///xxx.h#ifndef HOOK_API#define HOOK_API __declspec(dllimport)#endifHOOK_API BOOL WINAPI SetDIPSHook(DWORD dwThreadId); /////xxx.cpp#define HOOK_API __declspec(dllexport)#include "hook.h"#include <Windows.h>#include

程式員面試題精選(36):找出數組中唯一的重複元素

1-1000放在含有1001個元素的數組中,只有唯一的一個元素值重複,其它均只出現 一次。每個數組元素只能訪問一次,設計一個演算法,將它找出來;不用輔助儲存空 間,能否設計一個演算法實現?將1001個元素相加減去1,2,3,……1000數列的和,得到的差即為重複的元素。  int   Find(int   *   a)     {     int   i;//變數     for   (i   =   0   ;i<=1000;i++)     {     a[1000]   +=  

程式員面試題精選(29):調整數組順序使奇數位於偶數前面

題目:輸入一個整數數組,調整數組中數位順序,使得所有奇數位於數組的前半部分,所有偶數位於數組的後半部分。要求時間複雜度為O(n)。分析:如果不考慮時間複雜度,最簡單的思路應該是從頭掃描這個數組,每碰到一個偶數時,拿出這個數字,並把位於這個數字後面的所有數字往前挪動一位。挪完之後在數組的末尾有一個空位,這時把該偶數放入這個空位。由於碰到一個偶數,需要移動O(n)個數字,因此總的時間複雜度是O(n2)。要求的是把奇數放在數組的前半部分,偶數放在數組的後半部分,因此所有的奇數應該位於偶數的前面。也就是

鬱悶的pidgin 2.5.1安裝

@page { size: 21cm 29.7cm; margin: 2cm }P { margin-bottom: 0.21cm }-->1.先下下來http://www.pidgin.im/download/2.解開./configure,肯定會有一堆庫需要安裝,如下XScreenSaver extension development headers not found.    libxss-devStartup notification development headers not

面試題精選(77):兩有序數組的中位元求解

題目描述:Let X[1 .. n] and Y [1 .. n] be two arrays, each containing n numbers already in sorted order. Give an O(lg n)-time algorithm to find the median of all 2n elements in arrays X and Y. 題目是《演算法導論》上的一道習題,不過已多次出現在面試題當中 演算法導論給出的分析:(針對長度相等的兩有序數組) 代碼實現:

JIRA如何發送延期Issue到郵箱

JIRA的過濾器功能,用過JIRA的人都用過,但是過濾器訂閱的功能,相信用的人就不多了。我前一段時間遇到這麼一個想法:把延期的Issue,每個工作日發送到每個人郵箱。我琢磨了一些時間,終於搞定了。1.建一個過濾器        開發人員為目前使用者        狀態為open、reopen、in progress        逾期為0天 這樣就建立了一個逾期的過濾器。2.在過濾器管理中,訂閱這個過濾器。        收件者選擇:整個項目組        沒有結果發送郵件,這個選項不要打勾 

專案管理–激發團隊創造的熱情

    我帶過一個團隊做過三期的項目(三年時間),自己兼職專案經理。隨著團隊人員增加和模組的增加,第一年,自己負責核心模組設計編碼和測試,第二年時,我只能負責架構設計和概要設計了,第三年時,管理和會議已經佔據了我大量時間,已經沒有時間去做具體的設計和開發的工作了。   

面試題精選(76):給定BST先序遍曆序列,不構造BST的情況下判斷BST是否每個node都只有一個child

題目描述:Input :    You have been given a sequence of integers.                Now without actually constructing BST from the given sequence of integers (assuming the sequence is pre-order) determine if each node of BST has single child (either left or

總頁數: 61357 1 .... 15645 15646 15647 15648 15649 .... 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.