# encoding:utf-8 # p001_1234threeNums.py def threeNums(): '''题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?''' print None count = 0 nums = [] for index1 in xrange(1,5): for index2 in xrange(1,5): for index3 in xrange(1,5): if index1 != index2 and index1 !
题目: 删除排序数组中的重复数字 给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度. 不要使用额外的数组空间,必须在原地没有额外空间的条件下完成. 样例 给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]. 解题: 用Python直接搞 Python程序: class Solution: """ @param A: a list of integers @return an integer "&q
题目连接 http://www.lintcode.com/zh-cn/problem/remove-duplicates-from-sorted-array-ii/ 题目大意 跟进“删除重复数字”: 如果可以允许出现两次重复将如何处理? 算法思想 因为数组中元素已经排好顺序的,直接遍历比较有几个是相同的,如果大于2个就直接把两个的存到一个数组中,最后返回数组的大小即可. 代码实现 public class Solution { /** * @param A: a array of integer
题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. public class Prog11 { public static void main(String[] args) { int count=0; int n=0; for(int i=1;i<5;i++) { for(int j=1;j<5;j++) { if(i==j) continue; for(int k
对于一个长度为n+1的数组,其中每一个值的取值范围是[1,n],可以证明的是必然存在一个重复数字(抽屉原理),假设仅存在一个重复数字,找到他. 举例:输入:[1,3,4,2,1],输出:1 自己做的时候,要么时间复杂度到o(n2),要么需要额外的存储空间利用hashset,下面来分析一下leetcode上别人的算法吧. 方法一:通过图论中环的有关知识解决 public int findDuplicate(int[] nums) { // Find the intersection point o
删除排序数组中的重复数字 II 跟进“删除重复数字”: 如果可以允许出现两次重复将如何处理? 在:lintcode100删除排序数组中的重复数字 的基础上进行改进. class Solution { public: /* * @param nums: An ineger array * @return: An integer */ int removeDuplicates(vector<int> &nums) { // write your code here int len =