انسخ رمز الكود كما يلي:
/**
* الاسم: ابحث عن عدد وعدد التكرارات للعناصر الأكثر في المصفوفة
* وصف:
* يمكن تكرار العناصر الموجودة في المصفوفة. يمكن لهذه الطريقة العثور على الرقم الأكثر تكرارًا وإرجاع عدد مرات تكراره.
* لكن عليك أن تعرف ما هو أكبر عنصر في هذه المصفوفة، إذا لم تتمكن من تحديده، فستكون مأساة
*
* @param array صفيف الهدف؛
* الحد الأقصى لقيمة البيانات في المصفوفة القصوى؛
*return يُرجع مجموعة خرائط تحتوي على الرقم الذي يحتوي على أكبر عدد من التكرارات (القيمة) وعدد التكرارات (maxCount)؛
* يحدث استثناء داخلي ويعيد 0 افتراضيًا؛
* @رميات
* @ المؤلف يانغ يوان
*/
الخريطة الثابتة العامة<String, Integer> arraySearch(int[] array,int max){
// جمع النتائج
Map<String, Integer> resultMap = new HashMap<String, Integer>();
// عدد التكرارات
int maxCount = 0;
// الرقم الذي يحتوي على أكبر عدد من التكرارات
قيمة كثافة العمليات = 0؛
يحاول{
// تهيئة مصفوفة البيانات لتخزين عدد تكرارات كل عنصر
int[] dataArray = new int[max+1];
// اجتياز المصفوفة التي سيتم العثور عليها، واستخدام كل عنصر كرمز منخفض، وتحديد موقع مصفوفة البيانات مباشرة، وإجراء عملية +1 للإشارة إلى ظهورها مرة واحدة
ل(int i: صفيف){
dataArray[i]++;
}
// ابحث عن القيمة القصوى في صفيف البيانات
for(int i=0;i<dataArray.length;i++){
إذا (dataArray[i]>maxCount){
maxCount=dataArray[i];
value=i;
}
}
}قبض (استثناء هـ) {}
resultMap.put("maxCount", maxCount);
resultMap.put("value"، value);
إرجاع خريطة النتيجة؛
}
/**
* الاسم: قارن بين حجم سلسلتين
* الوصف: قواعد المقارنة متوافقة مع الترتيب حسب التأثير في قاعدة البيانات؛
* يتم تحويل Null تلقائيًا إلى فارغ، والسلسلة الفارغة هي الأكبر؛
*
* @param first السلسلة الأولى المراد مقارنتها؛
*الثانية السلسلة الثانية المراد مقارنتها؛
* @return first أكبر من الثانية ويُرجع رقمًا موجبًا؛
* الأول يساوي الثاني ويعيد 0؛
* الأول أقل من الثاني ويعيد رقمًا سالبًا؛
* يُرجع الاستثناء الداخلي 0 افتراضيًا؛
* القيمة المرجعة ليست قيمة ثابتة ~~؛
* @رميات
* @ المؤلف يانغ يوان
*/
public static int CompareString(String first,String Second){
نتيجة كثافة العمليات = 0؛
يحاول{
// فارغة لفارغة
first = first==null؟"":first;
Second = Second==null؟"":first;
// سجل طول السلسلة مسبقًا لتجنب القراءة المتكررة
int firstLength=first.length();
int SecondLength= Second. length();
// التعامل مع الحالات الخاصة التي تحتوي على سلاسل فارغة
إذا ("". يساوي (الأول) || "". يساوي (الثاني)) {
// من هو الأطول ومن الأصغر؟
النتيجة = الطول الثاني-الطول الأول؛
}آخر{
// المساحة المؤقتة المستخدمة لتخزين مجموع رموز ascii
int firstCount = 0;
int SecondCount = 0;
// استخدم العمليات الخالصة للعثور على الرقم الأصغر، وهو في الواقع bt
int minLength = (ثانية الطول*(الطول الأول/الطول الثاني) + الطول الأول*(الطول الثاني/الطول الأول))/(الطول الأول/الطول الثاني + الطول الثاني/الطول الأول);
// اعترض شيئًا فشيئًا وفقًا لعدد الأرقام الأقصر في السلسلتين لمنع الخروج عن الحدود
for(int i=0;i<minLength;i++){
// ابحث عن مجموع كود ascii
firstCount+=first.substring(i,i+1).getBytes()[0];
SecondCount+= Second.substring(i,i+1).getBytes()[0];
// المجموع غير متساوٍ، مما يشير إلى أنه تمت مقارنة الحجم
إذا (العدد الأول!=العدد الثاني){
استراحة؛
}
}
إذا (العدد الأول==العدد الثاني){
// الطول طويل جدًا
النتيجة = الطول الأول-الطول الثاني؛
}آخر{
// المبلغ كبير قدر الإمكان
النتيجة = FirstCount-SecondCount؛
}
}
}قبض (استثناء هـ) {}
نتيجة الإرجاع؛
}