Encuentre el k-ésimo elemento más grande en la matriz de cadenas de números

求数字字符串数组中,元素取整第k大的元素
import pytest


class TestHome(object):

    @staticmethod
    @pytest.mark.parametrize("k, li_str", [[2, ['68', '11', '2', '3', '23']], [3, ['68', '11', '2', '3', '23', '68']]])
    def test_01(k, li_str) -> None:
        """
        求数字字符串列表中,元素取整第k大的元素
        如:
        case1:
        输入:li_str = ['68', '11', '2', '3', '23']  k=2
        输出:‘23’

        case2:
        输入:li_str = ['68', '11', '2', '3', '23', '68']  k=3
        输出:‘11’

        :param k: 第几大的元素
        :param li_str: 数字字符串列表
        :return:
        """

        li_int = []
        for i in li_str:
            li_int.append(int(i))
        li_int.sort()
        num = 1
        for i in li_int[::-1]:
            if i < li_int[-1]:
                num += 1
            if num == k:
                print(str(i))
                break

 

Supongo que te gusta

Origin blog.csdn.net/chuancheng_zeng/article/details/115242469
Recomendado
Clasificación