面試中遇到的不太實用的奇技淫巧(持續更新中)

2021-06-22 15:56:01 字數 717 閱讀 1582

面試這個詞很有意思,比如」我去面試了「,從這句話中無法弄清楚是你去面試別人,還是你去找工作被別人面試了呢?說笑了。

下面就是我面試(面別人和被別人面)過程中遇到的一些不太實用的方法總結一下:

1. 交換兩個數值

方法1: 利用中間變數

// int a, b;

方法2: 利用異或

// int a, b;

方法3 利用加減法

// int a, b;

這第三種方法,估計很少有人會用,因為它存在溢位的可能性。

2. 某乙個程式中有乙個初始化的全域性static變數,在某乙個函式中有乙個與之同名的全域性初始化的區域性static變數,請問如何在這個函式外訪問該變數的值。

#include static int val = 10;

void fun()

int main(int argc, char *argv)

output:

1020

val in fun() = 21

這道題有意思是利用了編譯器將所有的初始化的static,全域性的變數放入全域性變數區的前提,並利用指標來獲取區域性val 的方法,主要考察編譯器對全域性變數的處理方法,以及對指標的靈活運用。可以說在實際的程式設計過程中它是一點用處也沒有。

演算法中的奇技淫巧

1.乙個陣列中,只有乙個數隻出現了一次,其他的都出現了兩次,找出只出現了一次的數,比如 1,2,3,4,5,4,3,2,1 其中,沒有重複的就是5 看到這種題,大概第乙個想法是利用hash表吧,每次儲存時,記錄次數,最後再遍歷看看誰只出現了一次。然鵝,我看到有一種演算法,真真真真真是太簡單了。我們都...

c 的奇技淫巧

關於陣列 數論演算法技巧 stl其他 while scanf d d n,m eof 等價於 while scanf d d n,m 2 前者eof為檔案結束符,較保險 後者 後的數字為輸入的變數的個數 不能只寫while scanf d d n,m 這樣無法結束讀入 wwq大佬教的,希望我不要和他...

Git的奇技淫巧

git常用命令集合,fork於tips專案 git是乙個 分布式版本管理工具 簡單的理解版本管理工具 大家在寫東西的時候都用過 回撤 這個功能,但是回撤只能回撤幾步,假如想要找回我三天之前的修改,光用 回撤 是找不回來的。而 版本管理工具 能記錄每次的修改,只要提交到版本倉庫,你就可以找到之前任何時...