每天一刷20200617

2021-10-07 06:32:44 字數 2247 閱讀 1296

問題

題目描述

輸入乙個int型整數,按照從右向左的閱讀順序,返回乙個不含重複數字的新的整數。

輸入描述:

輸入乙個int型整數

輸出描述:

按照從右向左的閱讀順序,返回乙個不含重複數字的新的整數

示例1輸入

9876673

輸出37689

思路

將輸入整數的每一位通過不斷整除、取餘的方式拿出來,然後用乙個0-9的陣列作為雜湊表來記錄它出現的次數,做相應的處理即可

解法

#include

#include

using

namespace std;

intmain()

cout<

}return0;

}

most votes solution

253986e66d114d378ae8de2e6c4577c1?f=discussion

#include

using

namespace std;

intmain()

;int num=0;

cin>>n ;

while

(n) n/=10

;}cout<

return0;

}二分查詢

成功的二分查詢的3個部分

預處理–如果集合未排序,則進行排序。

二分查詢–使用迴圈或者遞迴在每次比較後將查詢空間劃分為兩半。

後處理–在剩餘空間中確定可行的候選者。

a 二分查詢模板 1

int
binarysearch

(vector<

int>

& nums,

int target)

else

if(nums[mid]

< target)

else

}// end condition: left > right

return-1

;}問題

實現 int sqrt(int x) 函式。

計算並返回 x 的平方根,其中 x 是非負整數。

由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。

示例 1:

輸入: 4

輸出: 2

示例 2:

輸入: 8

輸出: 2

說明: 8 的平方根是 2.82842…,

由於返回型別是整數,小數部分將被捨去。

由於 x 平方根的整數部分ans 是滿足 k^2 ≤x 的最大 k 值,因此我們可以對 k 進行二分查詢,從而得到答案。

用牛頓迭代法也可以解決。

**

class

solution

else

}return ans;}}

;

拓展在字串source中查詢字串t,如果存在的話返回t開始的下標,如果不存在的話返回-1。裡面還有getline()函式的實現

#include

#define maxline 1000

//最大輸入行長度

intgetline

(char line,

int max)

;int

strindex

(char source,

char searchfor)

;char pattern=

"abc"

;//待查詢的模式

intmain()

}printf

("%d\n"

, found)

;return found;

}int

getline

(char s,

int lim)

intstrindex

(char s,

char t)

return-1

;}

vc++6.0測例:

每天一刷20200602

問題 寫出乙個程式,接受乙個正浮點數值,輸出該數值的近似整數值。如果小數點後數值大於等於5,向上取整 小於5,則向下取整。思路 其實就是實現乙個正浮點數的四捨五入,可以呼叫math.h中的round 函式直接完成,有點討巧。include include using namespace std in...

每天一刷20200603

問題 編寫乙個函式,計算字串中含有的不同字元的個數。字元在acsii碼範圍內 0 127 換行表示結束符,不算在字元裡。不在範圍內的不作統計。注意是不同的字元 思路 跟之前做過的乙個題相似,那個題是字串去重,稍作修改就行了。include include using namespace std in...

每天一刷20200605

昨天返校,沒有做題。問題 功能 等差數列 2,5,8,11,14 輸入 正整數n 0 輸出 求等差數列前n項和 返回 轉換成功返回 0 非法輸入與異常返回 1 思路 這個題其實就是簡單的等差數列求和,設定好初始項,然後控制好迴圈次數即可。ps 在處理輸入的時候要注意用while 來讀取輸入,不然提交...