首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    妙呀,数组排成最小的

    一、题目描述 输入一个非负整数数组数组里所有数字拼接起来排成一个,打印能拼接出的所有数字中最小的一个。...提示: 0 < nums.length <= 100 说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数 拼接起来的数字可能会有前导 0,最后结果不需要去掉前导 0 二、解题思路 题目要求数组中所有的数字一起拼凑出一个最小的数字...由此可以进一步的联想到,最终得到的那个最小的数字必然是可以划分为三个区域:左(前面)、、右(后面)。...这就意味着,我们在寻找最小数字的过程,实际上是在确定这三个区域的过程,而对于每个区域又同样可以不断的划分为左、、右这个三个区域。...数组排成最小的:https://leetcode-cn.com/problems/ba-shu-zu-pai-cheng-zui-xiao-de-shu-lcof/ class Solution {

    70710

    数组重复的

    之前有写过 找出数组只出现一次的,今天再来看下怎么找出数组重复出现的。 有一个长度为 n 的数组,所有的数字都在 0~n-1 的范围,现在要求找出数组任意一个重复的数字。...思路一: 先给数组排序,然后再遍历一遍有序数组,依次比较相邻元素,就很容易能找出数组重复的值。使用快排排序的话时间复杂度为 O(nlogn) 。...如果 arr[i] 和 arr[arr[i]] 不相等,那就交换他们的位置,交换的目的就是为了 arr[i] 放到属于他的位置,保证 arr[i] == i。...= 0 则比较 arr[0] 和 arr[1] arr[0] == arr[1] 找到一个重复的 你可能会问,为什么要交换,交换的目的就是为了元素放到属于它的位置上,要让这个数组满足 arr[i]...推荐文章: 找出数组只出现一次的 我给自己配置的第一份保险 每天微学习, 长按加入一起成长.

    1.7K20

    剑指offer 数组排成最小的

    题目描述 输入一个正整数数组数组里所有数字拼接起来排成一个,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。...解题思路 3 32 321 先转化成string数组,从第一位开始,对数组遍历,找出第i位最小的,如果都一样,就再次遍历,找出第i+1位最小的,找到就将这个数从数组删去 代码 #include...=str.size(); strings.push_back(str); } //遍历vector,寻找第i位数字最小的,将其append到结果,...并从strings删除 while(strings.size()>0){ length=strings.size(); string min...min=strings[j]; minindex=j; //如果这个数跟最小的当前位的值一样

    35130

    剑指offer 33 数组排成最小的

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/28128551 题目描述: 输入一个正整数数组数组里所有数字拼接起来排成一个,...例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 输入: 输入可能包含多个测试样例。...这道题主要要自定义一个比较组合后的数字的大小的规则,主要是对于数字m和n,先将其转化为字符串,而后比较其组合mn和nm的大小,这里直接按照字符串的大小标准来比较即可,最后用qsort进行排序,排序后的字符串数组的字符串从左向右组合起来的字符串即使最小的字符串...PrintMinNum(int *nums,int len)   {   if(nums==NULL || len<1)   return;   int i;   //将整数写入到字符串

    45820

    数组对差最大

    题目: 数组某数字减去其右边的某数字得到一个对之差,求所有数对之差的最大值。...假设我们数组分成两个子数组,我们其实没有必要拿左边的子数组较大的数字去和右边的子数组较小的数字作减法,因为对之差的最大值只有可能是下面三种情况之一 (1)被减数和减数都在第一个子数组,即第一个子数组对之差的最大值...; (2)被减数和减数都在第二个子数组,即第二个子数组对之差的最大值; (3)被减数在第一个子数组,是第一个子数组的最大值;减数在第二个子数组,是第二个子数组的最小值。...(1)、(2)、(3),这三个差值的最大者就是整个数组对之差的最大值。...在前面提到的三种情况,得到第一个子数组的最大值和第二子数组的最小值不是一件难事,但如何得到两个子数组对之差的最大值?

    2.3K20
    领券