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

剑指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; //如果这个数跟最小的当前位的值一样

33730

数组重复的

之前有写过 找出数组只出现一次的,今天再来看下怎么找出数组重复出现的。 有一个长度为 n 的数组,所有的数字都在 0~n-1 的范围,现在要求找出数组任意一个重复的数字。...如果 arr[i] 和 arr[arr[i]] 不相等,那就交换他们的位置,交换的目的就是为了 arr[i] 放到属于他的位置,保证 arr[i] == i。...= 0 则比较 arr[0] 和 arr[1] arr[0] == arr[1] 找到一个重复的 你可能会问,为什么要交换,交换的目的就是为了元素放到属于它的位置上,要让这个数组满足 arr[i]...== i,换句话说就是不断的调整数组,使其满足 arr[i] == i,比如数组第一个元素 arr[0] 为 4 ,那就要把元素 4 放到下标为 4 的位置上去。...推荐文章: 找出数组只出现一次的 我给自己配置的第一份保险 每天微学习, 长按加入一起成长.

1.6K20

js数组删除指定元素splice_js找出数组中最大的

js自带删除元素方法有: 1.splice方法 //获取元素在数组的下标 Array.prototype.indexOf = function(val) { for (var i = 0; i < this.length...['abs','dsf',,'abc','sdf','fd']; insertAttaList.remove('abc'); splice(index,len,[item]) 注释:该方法会改变原始数组...splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值 index:数组开始下标 len: 替换/删除的长度 item:替换的值,删除操作的话 item为空 如:arr = [‘a’...设置为0,item为添加的值 arr.splice(1,0,‘ttt’) //[‘a’,‘ttt’,‘b’,‘c’,‘d’] 表示在下标为1处添加一项‘ttt’ 2.delete方法 delete删除掉数组的元素后...,会把该下标出的值置为undefined,数组的长度不会变 如:delete arr[1] //[‘a’, ,‘c’,‘d’] 中间出现两个逗号,数组长度不变,有一项为undefined 版权声明:本文内容由互联网用户自发贡献

3.7K40

剑指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;   //将整数写入到字符串

44520

数组对差最大

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

2.2K20
领券