Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

ソートされた配列の絶対的な個別のカウント?


このセクションでは、絶対値が異なる要素の数を数える方法を説明します。配列に{5、5、6、-5、8、2、-2、1}のような要素がほとんどないため、8つの要素があるとします。しかし、異なる5つの要素{5、6、8、2、1}があります。 -5と5は異なるとは見なされず、絶対値が同じであるため同じです。

この問題を解決するために、Setデータ構造を使用します。セット内で重複する要素は許可されていません。また、セットにアイテムを挿入するときは、絶対値のみをプッシュします。

アルゴリズム

abstractDistinctCount(arr)

begin
   define set s;
   for each element e in arr, do
      insert |e| into s
   done
   return the number of elements of s
end

#include<iostream>
#include<set>
#include<cmath>
using namespace std;
int absoluteDistinctCount(int arr[], int n){
   set<int> s;
   for(int i = 0; i<n; i++){
      s.insert(abs(arr[i])); //insert the absolute value
   }
   return s.size();
}
main() {
   int arr[] = {5, 5, 6, -5, 8, 2, -2, 1};
   int n = (sizeof(arr))/(sizeof(arr[0]));
   cout << "Absolute Distinct Count: " << absoluteDistinctCount(arr, n);
}

出力

Absolute Distinct Count: 5

  1. JavaScriptの配列で上位または下位の要素がカウントされます

    次のような数値の配列があると考えてください- const array = [54,54,65,73,43,78,54,54,76,3,23,78]; 指定された数の下/上にある配列内の要素の数をカウントする関数を作成する必要があります。 たとえば、数が60の場合- 答えは、その下の5要素(54,54,43,3,23)とその下の5要素(65,73,78,76,78)である必要があります。したがって、この関数のコードを記述しましょう- 例 このためのコードは-になります const array = [54,54,65,73,43,78,54,54,76,3,23,78]; const be

  2. 配列のソートされた個別の要素をC言語で出力します

    整数要素の配列が与えられた場合、タスクは重複する値を削除し、ソートされた方法で個別の要素を出力することです。 以下に示すのは、整数型の値を4、6、5、3、4、5、2、8、7、0の形式で格納する配列です。結果は、ソートされた要素を0、2、3、4として出力します。 4、5、5、6、7、8ですが、この結果には重複する値4と5が含まれているため、削除する必要があり、最終結果は0、2、3、4、5、6、7、8になります。 例 Input: array[] = {4, 6, 5, 3, 4, 5, 2, 8, 7, 0} Output: 0 2 3 4 5 6 7 8 説明 したがって、結果を達成