https://leetcode.com/problems/ugly-number-ii/ 刚开始,一看题以为用刷选法,但是当数据量大时明显不行.然后感觉用含2,3,5因子的个数当做进制来处理还是不行.最后看了提示,提示说这种数字相对增长快,所以只考虑这种数字,然后分成三组,按*2,*3,*5来取最小值进行递增.但还是不知怎么分组.最后看了人家的代码,用三个队列,一个保存*2的值,一个保存*3的值,一个保存*5的值,*2的队列去掉队首钱,要将该队首值*2,*3,*5分别入队.*3的队列去掉队首时…
给定一个整数数组,除了某个元素外其余元素均出现两次.请找出这个只出现一次的元素.备注:你的算法应该是一个线性时间复杂度. 你可以不用额外空间来实现它吗? 详见:https://leetcode.com/problems/single-number/description/ Java实现: class Solution { public int singleNumber(int[] nums) { int n=nums.length; if(n==0||nums==null){ return In…
题目 Being unique is so important to people on Mars that even their lottery is designed in a unique way. The rule of winning is simple: one bets on a number chosen from [1,10​4 ]. The first one who bets on a unique number wins. For example, if there ar…
首先讲一个最笨的算法:时间复杂度为N  空间复杂度为N 代码如下:输出结果id=3完全正确: int[] a = new int[] { 1, 1, 2, 2, 3, 4, 4 }; Dictionary<int, int> dic = new Dictionary<int, int>() { }; for (int i = 0; i < a.Length; i++) { if(dic.Keys.Contains(a[i])) { dic[a[i]]++; } else {…
Given an array of integers, every element appears twice except for one. Find that single one. class Solution { public: int singleNumber(vector<int>& nums) { int size=nums.size(); ||nums.empty()) ; ; ;i<size;++i) res^=nums[i]; return res; } };…
方法一:每次取出两个不同的数,剩下的数字中重复出现次数超过一半的数字肯定,将规模缩小化.如果每次删除两个不同的数,这里当然不是真的把它们踢出数组,而是对于候选数来说,出现次数减一,对于其他数来说,循环遍历就行.在剩余的数字里,原最高频数出现的频率一样超过了50%,不断重复这个过程,最后剩下的将全是同样的数字,即最高频数.此算法避免了排序,时间复杂度只有O(n). 程序示例如下: #include "stdafx.h" #include <stdio.h> int FindM…
问题: Given an array of integers, every element appears twice except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?   分析: 数组中的数除了一个只出现了一次之外,其它都出现了两次, 要找出只出…
给定一个整数数组 nums,其中恰好有两个元素只出现一次,其他所有元素均出现两次. 找出只出现一次的那两个元素.示例:给定 nums = [1, 2, 1, 3, 2, 5], 返回 [3, 5].注意:    结果的顺序并不重要,对于上面的例子 [5, 3] 也是正确答案.    你的算法应该具有线性复杂度,你能否仅使用恒定的空间复杂度来实现它?详见:https://leetcode.com/problems/single-number-iii/description/ Java实现: cla…
Given an array of integers, every element appears twice except for one. Find that single one. Note:Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory? 数组中除了某个元素出现一次,其他都出现两次,找出只出现一次的元素. 一个数字和自己异或…
原题网址:http://www.lintcode.com/zh-cn/problem/ugly-number-ii/ 设计一个算法,找出只含素因子2,3,5 的第 n 小的数. 符合条件的数如:1, 2, 3, 4, 5, 6, 8, 9, 10, 12... 注意事项 我们可以认为1也是一个丑数   样例 如果n = 9, 返回 10 挑战 要求时间复杂度为O(nlogn)或者O(n) #include <iostream> #include <vector> #include…
问题: Given an array of integers, every element appears three times except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?   Single Number I 升级版,一个数组中其它数出现了…
题目描述 找出字符串中第一个只出现一次的字符 如果无此字符 请输出'.' 输入描述: 输入一串字符,由小写字母组成 输出描述: 输出一个字符 输入例子: asdfasdfo 输出例子: o 思路:数组s记录出现的字母顺序.time数组记录出现的次数,每个char对应一个int型,,,所以,字母a出现的次数可以直接用time['a']表示. AC代码: #include "iostream" #include "string.h" #define MAX 201 us…
有2n+1个数,其中有2n个数出现过两次,找出其中只出现一次的数 例如这样一组数3,3,1,2,4,2,5,5,4,其中只有1出现了1次,其他都是出现了2次,如何找出其中的1? 最简便的方法是使用异或,代码如下: public class XOR { public static void main(String[] args){ ,,,,,,,,}; ;//初始值 ;i<arr.length;i++){ res ^=arr[i]; } System.out.println(res); } } 运…
给定两个字符串 s 和 t,它们只包含小写字母.字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母.请找出在 t 中被添加的字母. 示例: 输入: s = "abcd" t = "abcde" 输出: e 解题思路:该题的解法和上一篇我们解决问题的思路一样,同样此题我们需要定义两个数组arr1和arr2分别存储字符串s和t每一个字符出现的次数,遍历统计字符串每一个字符出现的次数,最后遍历,找出arr1和arr2不相等,不相等的坐标存储的就是字符串t中添加…
题目描述 找出所有员工当前(to_date='9999-01-01')具体的薪水salary情况,对于相同的薪水只显示一次,并按照逆序显示CREATE TABLE `salaries` (`emp_no` int(11) NOT NULL,`salary` int(11) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL,PRIMARY KEY (`emp_no`,`from_date`)); 输入描述: 无 输出描述: sal…
K的因子中只包含2 3 5.满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15. 所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数. 例如:n = 13,S中 >= 13的最小的数是15,所以输出15.   Input 第1行:一个数T,表示后面用作输入测试的数的数量.(1 <= T <= 10000) 第2 - T + 1行:每行1个数N(1 <= N <= 10^18) Output 共T行,每行1个数,输出>=…
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:568 解决:186 题目描述: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 输入: 输入的第一行包括一个整数N(1<=N<=1000). 接下来的一行包括N个整数. 输出: 可能有多组测试数据,对于每组数据, 找出这个数组中的两个只出现了一次的数字. 输出的数字的顺序为从小到大. 样例输入: 6 2 3 9 3 7 2 样例输出: 7 9 思路: 巧妙的利用异或位运算能高效的解决该问题…
题目描述: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 输入: 输入的第一行包括一个整数N(1<=N<=1000). 接下来的一行包括N个整数. 输出: 可能有多组测试数据,对于每组数据, 找出这个数组中的两个只出现了一次的数字. 输出的数字的顺序为从小到大. 样例输入: 6 2 3 9 3 7 2 样例输出: 7 9 (题目中的条件 N 应该大于1)开始的想法是先排序,然后再去数数,代码如下 #include <cstdio> #…
开个新坑,leetcode上面做题目.下面是题目描述: <!-- 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3. 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1. 示例 3: 输入: "pwwkew" 输出…
erlang程序设计第八章练习题第二题: code:all_loaded()命令会返回一个由{Mod,File}对构成的列表,内含所有Erlang系统 载入的模块.使用内置函数Mod:module_info()了解这些模块.编写一些函数来找出哪个模块导出的函数最多,以及哪个函数名最常见.编写一个函数来找出所有不带歧义的函数名,也就是那些只在一个模块里出现过的函数名. 这里主要有三个问题: 1.哪个模块导出的函数最多 2.哪个函数名最常见 3.哪些函数只在一个模块出现 module_fun:fin…
1 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 2 思路和方法 (1)异或:除了有两个数字只出现了一次,其他数字都出现了两次.异或运算中,任何一个数字和自己本身异或都是0,任何一个数字和0异或都是本身. (2)哈希表.unordered_map<int, int> map; for(int i = 0; i < data.size(); i++) map[data[i]]++;if(map[data[i]]== 1) v.pus…
import java.util.ArrayList; import java.util.List; //一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.第二个完全数是28, //它有约数1.2.4.7.14.28,除去它本身28外,其余5个数相加, //编程找出1000以内的所有完数. public class Test { public static void main(String[] args) { System.out.print("完数有…
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 知识点: 交换律:a ^ b ^ c <=> a ^ c ^ b 任何数于0异或为任何数 0 ^ n => n 相同的数异或为0: n ^ n => 0…
day12 --------------------------------------------------------------- 实例019:完数 题目 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. 分析:如果能被a整除,那么a是因子,放入一个列表然后再求和,与原被除数相等,就是完数 1 for i in range(1,int(a)): 2 list = [] 3 if i >1: 4 for j in r…
要求: 1. 不能依赖库函数直接实现此功能,需使用基础的数据结构实现 2. 时间复杂度 O(n) 思路: 1. 用字典存储每个字符在字符串中出现的次数 2. 列表是有序的,用来存储字符的出现先后 3. 最后,从前向后遍历列表,找出第一个出现次数为1的字符,即为符合条件的字符…
c#封装DBHelper类   public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> None, /// <summary> /// 当前语句必须为"select count(1) from .."格式,如果存在则继续执行,不存在回滚事务 /// </summary> WhenHaveContine, /// <summary> ///…
一.一个列表中可能含有重复元素,使用set()可以实现列表的去重处理,但是无法知道哪些元素是重复的,下面的函数用于找出哪些元素重复了,以及重复的次数. 代码: from collections import Counter #引入Counter a = [1, 2, 3, 3, 4, 4] b = dict(Counter(a)) print(b) print ([key for key,value in b.items() if value > 1]) #只展示重复元素 print ({key…
9-3. 找出Web API中发生了什么变化 问题 想通过基于REST的Web API服务对数据库进行插入,删除和修改对象图,而不必为每个实体类编写单独的更新方法. 此外, 用EF6的Code Frist实现数据访问管理. 本例,我们模拟一个N层场景,用单独的客户端(控制台应用)来调用单独的基于REST服务的Web网站(WEB API应用) . 注意:每层使用单独的Visual Studio 解决方案, 这样更方便配置.调试和模拟一个N层应用. 假设有一个如Figure 9-3所示的旅行社和预订…
Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once. Find all the elements of [1, n] inclusive that do not appear in this array. Could you do it without extra space and in O(n) runtime?…