使用 C++ 查詢給定數字的斜率
在這個問題中,我們給定一個數字 N。我們的任務是找到給定數字的斜率。
數字的斜率是數字中最大值和最小值數字的總數。
最大值數字是指其兩個鄰居(前一個和後一個)都較小的數字。
最小值數字是指其兩個鄰居(前一個和後一個)都較大的數字。
讓我們舉一個例子來理解這個問題,
輸入
N = 9594459
輸出
2
解決方案方法
解決這個問題的一個簡單方法是從排除第一個和最後一個(它們不計入最大值或最小值)開始,逐位遍歷數字。現在,對於每個數字,我們將檢查其數字是否大於或小於其之前和之後的數字。最後,我們將返回最大值和最小值的計數。
示例
程式說明我們解決方案的工作原理
#include <iostream>
using namespace std;
int findNumberSlope(string N, int len){
int slope = 0;
for (int i = 1; i < len - 1; i++) {
if (N[i] > N[i - 1] && N[i] > N[i + 1])
slope++;
else if (N[i] < N[i - 1] && N[i] < N[i + 1])
slope++;
}
return slope;
}
int main(){
string N = "574473434329";
int len = N.size();
cout<<" The slope of the given number is "<<findNumberSlope(N, len);
return 0;
}輸出
The slope of the given number is 7
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP