一些比較有意思的題目

2021-07-22 07:58:38 字數 1195 閱讀 3843

example

輸入:698592 k = 4

輸出 :6592

solution:一種比較常見的思路是列舉全部k=4的數字,然後再取最小值,然而這樣複雜度會很高。本文的思路是不斷遞迴求得最小值,注意邊界,可以顯著降低複雜度。

void find_min_core(vector

vec, int k, int start, int end, vector

& result)

}result.push_back(min_value);

find_min_core(vec,k-1,start,end+1,result);

}}vector

find_min(vector

vec, int k)

example

輸入:str1:123456789 str2:987654321

輸出 :121932631112635269

solution:

(1)數字字串轉換為數字陣列

(2)模擬計算,注意進製,累加操作

#include 

#include

#include

#include

#include

using

namespace

std;

void output_vec(vector

vec)

cout

<< endl;

}}vector

convert_int_string_to_vector(string str)

return vec;

}vector

big_data_multiply(vector

str1, vector

str2)

if(carry > 0)

result[i+j] += carry;

}int size;

for (size = 0; size < result.size(); size++)

result.resize(size);

reverse(result.begin(),result.end());

return result;

}int main()

函式呼叫棧比較有意思

昨天和海洋一塊研究了下函式呼叫棧,順便寫兩句。不足或錯誤之處請包涵!理解呼叫棧最重要的兩點是 棧的結構,ebp暫存器的作用。首先要認識到這樣兩個事實 2 幾乎所有本地編譯器都會在每個函式體之前插入類似如下指令 push ebp mov ebp esp 棧底方向,高位位址 引數3 引數2 引數1 返回...

函式呼叫棧比較有意思

理解呼叫棧最重要的兩點是 棧的結構,ebp暫存器的作用。首先要認識到這樣兩個事實 2 幾乎所有本地編譯器都會在每個函式體之前插入類似如下指令 push ebp mov ebp esp 棧底方向,高位位址 引數3 引數2 引數1 返回位址 上一層 ebp ebp push ebp mov ebp es...

函式呼叫棧比較有意思

昨天和海洋一塊研究了下函式呼叫棧,順便寫兩句。不足或錯誤之處請包涵!理解呼叫棧最重要的兩點是 棧的結構,ebp暫存器的作用。首先要認識到這樣兩個事實 2 幾乎所有本地編譯器都會在每個函式體之前插入類似如下指令 push ebp mov ebp esp 棧底方向,高位位址 引數3 引數2 引數1 返回...