贪心算法--拼接最大数字问题

贪心,算法,拼接,最大,数字,问题 · 浏览次数 : 6

小编点评

**博客地址:** https://www.cnblogs.com/zylyehuo/# -*- coding: utf-8 -*-from functools import cmp_to_keydef xy_cmp(x, y): if x + y < y + x: return 1 # 表示 x>y elif x + y > y + x: return -1 # 表示 x<y else: return 0 # 表示 x=ydef number_join(li): li = list(map(str, li)) li.sort(key=cmp_to_key(xy_cmp)) return \"\".join(li) **内容摘要:** 博客文章介绍了一个名为 `number_join` 的函数,该函数将一个列表中的元素按照它们的比较结果排序,并以字符串形式返回。 **步骤:** 1. **定义一个 `xy_cmp` 函数:**该函数比较两个元素的比较结果,并根据大小排序它们。如果 `x + y` 小于 `y + x`,则返回 `1`;如果 `x + y` 大于 `y + x`,则返回 `-1`;如果 `x + y` 等于 `y + x`,则返回 `0`。 2. **将列表 `li` 排序以按照 `xy_cmp` 排序:**函数首先将 `li` 列表转换为字符串列表,然后使用 `cmp_to_key` 函数根据 `xy_cmp` 对字符串进行排序。 3. **将排序后的字符串列表转换为字符串:**函数将排序后的字符串列表转换为字符串并将其以 `join` 方法连接起来。 **示例:** 代码示例展示了如何使用 `number_join` 函数排序列表: ```python li = [32, 94, 128, 1286, 6, 71] print(number_join(li)) ``` **输出:** ``` 32,128,1286,6,71,94 ```

正文

博客地址:https://www.cnblogs.com/zylyehuo/

# -*- coding: utf-8 -*-

from functools import cmp_to_key


def xy_cmp(x, y):
    if x + y < y + x:
        return 1  # 表示 x>y
    elif x + y > y + x:
        return -1  # 表示 x<y
    else:
        return 0  # 表示 x=y


def number_join(li):
    li = list(map(str, li))
    li.sort(key=cmp_to_key(xy_cmp))
    return "".join(li)


li = [32, 94, 128, 1286, 6, 71]

print(number_join(li))

与贪心算法--拼接最大数字问题相似的内容:

贪心算法--拼接最大数字问题

博客地址:https://www.cnblogs.com/zylyehuo/ # -*- coding: utf-8 -*- from functools import cmp_to_key def xy_cmp(x, y): if x + y < y + x: return 1 # 表示 x>y

探索贪心算法:解决优化问题的高效策略

贪心算法是一种在每一步选择中都采取当前最佳选择的算法,以期在整体上达到最优解。它广泛应用于各种优化问题,如最短路径、最小生成树、活动选择等。本文将介绍贪心算法的基本概念、特点、应用场景及其局限性。 贪心算法的基本概念 贪心算法的核心思想是局部最优策略,即在每一步选择中都选择当前看起来最优的选项,希望

贪心算法--找零问题

博客地址:https://www.cnblogs.com/zylyehuo/ # -*- coding: utf-8 -*- t = [100, 50, 20, 5] def change(t, n): m = [0 for _ in range(len(t))] # m 为各面额纸币的张数 for

贪心算法--背包问题--分数背包

博客地址:https://www.cnblogs.com/zylyehuo/ # -*- coding: utf-8 -*- stuffs = [(60, 10), (100, 20), (120, 30)] # 每个商品元组表示(价格, 重量) stuffs.sort(key=lambda x:

贪心算法--活动选择问题

博客地址:https://www.cnblogs.com/zylyehuo/ # -*- coding: utf-8 -*- def activity_selection(a): res = [a[0]] for i in range(1, len(a)): if a[i][0] >= res[-1

算法学习笔记(∞):杂项

杂项 目录杂项代码规范算法优化的本质记忆化搜索基于边的记忆化动态规划树上每一个点求答案计数题关于仙人掌 DAG 的拓扑序计数关于微扰贪心的证明组合数前缀和单位根反演\(O(n^2)\) 状态求和矩形式子求和\(O(n^2)\) 状态 \(O(n)\) 单点问题CDQ 分治FFT 循环卷积根号多项式算

刷爆 LeetCode 周赛 337,位掩码/回溯/同余/分桶/动态规划·打家劫舍/贪心

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 上周末是 LeetCode 第 337 场周赛,你参加了吗?这场周赛第三题有点放水,如果按照题目的数据量来说最多算 Easy 题,但如果按照动态规划来做可以算 Hard 题。 小彭的技术交

LeetCode 周赛 338,贪心 / 埃氏筛 / 欧氏线性筛 / 前缀和 / 二分查找 / 拓扑排序

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 上周末是 LeetCode 第 338 场周赛,你参加了吗?这场周赛覆盖的知识点很多,第四题称得上是近期几场周赛的天花板。 小彭的技术交流群 02 群来了,公众号回复 “加群” 加入我们~

刷爆 LeetCode 周赛 339,贪心 / 排序 / 拓扑排序 / 平衡二叉树

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 上周末是 LeetCode 第 339 场周赛,你参加了吗?这场周赛覆盖的知识点比较少,前三题很简单,第四题上难度。 周赛大纲 2609. 最长平衡子字符串(Easy) 模拟:$O(n)$

LeetCode 双周赛 101,DP/中心位贪心/裴蜀定理/Dijkstra/最小环

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 这周比较忙,上周末的双周赛题解现在才更新,虽迟但到哈。上周末这场是 LeetCode 第 101 场双周赛,整体有点难度,第 3 题似乎比第 4 题还难一些。 周赛大纲 2605. 从两个