和为s的连续正整数序列 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 输入一个正数s, 打印出全部和为s的连续正数序列(至少含有两个数). 起始于1, 2, 相加, 假设相等则返回, 假设小于, 则前端递增右移, 假设大于, 则后端递增右移, 一直到后端移动到s的一半位置. 由于两个数, 小数为一半, 大数为一半加一, 则必定结束. 代码: /* * main.cpp * * Created on: 2014.6.12 * Author:…
//**************************************************************************************************** // // 求和为n的连续正整数序列 - C++ - by Chimomo // // 题目: 输入一个正整数n,输出全部和为n的连续正整数序列.比如:输入15,因为1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5.4-6和7-8. // // Answer: Supp…
//判断t所指字符串中的字母是否由连续递增字母组成. #include <stdio.h> #include <string.h> void NONO(); int fun( char *t ) { ; //使用数组解决 /*for (int i = 1; t[i]!= '\0'; i++) { if ((t[i]-'0') != (t[i - 1] -'0'+1)) a = 1; }*/ //使用指针解决 ) != '\0')//注意这里表达式的书写 { //printf(&qu…
package leetcode;import edu.princeton.cs.algs4.Cycle;import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedList;import java.util.List;import java.util.function.Consumer;public class FirstDay { public static void main(String[] args…
51.和为 n 连续正数序列(数组).题目:输入一个正数 n,输出所有和为 n 连续正数序列.例如输入 15,由于 1+2+3+4+5=4+5+6=7+8=15,所以输出 3 个连续序列 1-5. 4- 6 和 7-8.分析:这是网易的一道面试题. 一道简单的小题 /* 51.和为 n 连续正数序列(数组). 题目:输入一个正数 n,输出所有和为 n 连续正数序列. 例如输入 15,由于 1+2+3+4+5=4+5+6=7+8=15,所以输出 3 个连续序列 1-5. 4- 6 和 7-8. 分…
[题目] 输入一个正数n,输出所有和为n连续正数序列.例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5.4-6和7-8. [分析] 这是网易的一道面试题.这道题和本面试题系列的第10题有些类似.我们用两个数small和big分别表示序列的最小值和最大值.首先把small初始化为1,big初始化为2.如果从small到big的序列的和大于n的话,我们向右移动small,相当于从序列中去掉较小的数字.如果从small到big的序列的和小于n的话,我们向右移动…
题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22.现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? 输出所有和为S的连续正数序列.序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序. 思路 双指针技术,就是相当于有一个窗口,窗口的左右两边就是两个指针,我们根…
题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22.现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 输出描述: 输出所有和为S的连续正数序列.序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序 解题:双指针法,(Tcp中的滑动窗口技巧)…
圆圈中最后剩下的数字(递推公式) 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 0,1...,n-1这n个数字排成一个圆圈, 从数字0開始每次从这个圆圈里删除第m个数字. 求出这个圆圈里最后剩下的数字. 能够推导出约瑟夫环的递推公式, 使用循环进行求解,  时间复杂度O(n), 空间复杂度O(1). 代码: /* * main.cpp * * Created on: 2014.7.12 * Author: spike */ #incl…
数字数组中只出现一次 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 一个整型数组里除了两个数字以外, 其它的数字都出现了两次. 请敲代码找出这两个仅仅出现一次的数字. 假设从头到尾依次异或数组中的每个数字, 那么终于的结果刚好是那个仅仅出现一次的数字. 依据结果数组二进制某一位为1, 以此分组, 为1的一组, 为0的一组, 再又一次进行异或. 最后得出两个结果. 时间复杂度O(n). 代码: /* * main.cpp * * Creat…
圆圈中最后剩下的数字(循环链表) 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 0,1...,n-1这n个数字排成一个圆圈, 从数字0開始每次从这个圆圈里删除第m个数字. 求出这个圆圈里最后剩下的数字. 使用循环链表, 依次遍历删除, 时间复杂度O(mn), 空间复杂度O(n). 代码: /* * main.cpp * * Created on: 2014.7.13 * Author: Spike */ #include <iostr…
和为s的两个数字 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 输入一个递增排序的数组和一个数字s, 在数组中查找两个数, 使得它们的和正好是s. 假设有多对数字的和等于s, 输出随意一对就可以. 排序数组, 则能够从两端(即最大值, 最小值)開始进行查找, 当和大于时, 则降低前端, 当和小于时, 则递增尾端. 时间复杂度O(n). 代码: /* * main.cpp * * Created on: 2014.6.12 * Author…
数组中出现次数超过一半的数字 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 数组中有一个数字出现的次数超过数组长度的一半, 请找出这个数字. 1. 使用高速排序(QuickSort)的方法, 把中值(middle)和索引(index)匹配, 输出中值, 并检測是否符合要求. 2. 使用计数方法依次比較. 代码:  方法1: /* * main.cpp * * Created on: 2014.6.12 * Author: Spike */…
public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (true) { System.out.println("please input a positive integer: "); int n = sc.nextInt(); getSubInteger(n); System.out.println("========================="…
题目描述:一个正整数有可能可以被表示为 n(n>=2) 个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8 请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列. 输入数据:一个正整数,以命令行参数的形式提供给程序. 输出数据:在标准输出上打印出符合题目描述的全部正整数序列,每行一个序列,每个序列都从该序列的最小正整数开始.以从小到大的顺序打印.如果结果有多个序列,按各序列的最小正整数的大小从小到大打印各序列.此外,序列不允许重复,序列内的整数…
马上就要到9月份了,意味着一年一度的秋招就要开始了,相信不论是正在实习的童鞋还是马上就要找工作的童鞋,BAT无疑是国内的"明星企业",是每个学计算机的小伙伴们心之向往的企业,但是呢?对于进BAT来讲,即使你项目经验非常丰富,想进BAT,还有一道门槛要过那就是算法面试,尤其是想去百度的小伙伴们,那算法必须得考,也是面试中的重点. 说实话,对于算法这个东西,真的得靠天赋的,不是像项目那样,你多做多动手自然就会,虽然要靠天赋,但是对于基本的算法以及基本的算法面试题我们还是可以通过多积累多思考…
题目要求 问题描述:一个正整数有可能可以被表示为 n(n>=2) 个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8 编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列. 样例输入:15 样例输出:1+2+3+4+5 4+5+6 7+8 解决方案 题意很好懂,这个题第一直觉想到的是三重循环暴力破解,第一重控制序列起点,第二重控制序列元素个数,第三重输出符合题意的序列,但是显然,这样很费时,可不可以改进?可以! 因为是连续的序列,考虑使用等差数列…
题目描述 面试题57 - II. 和为s的连续正数序列 难度简单37收藏分享切换为英文关注反馈 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数). 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列. 示例 1: 输入:target = 9 输出:[[2,3,4],[4,5]] 示例 2: 输入:target = 15 输出:[[1,2,3,4,5],[4,5,6],[7,8]] 限制: 1 <= target <= 10^5 方法一: 0…
面试题57-II.和为s的连续正数序列 1.题目 LeetCode-面试题57-II.和为s的连续正数序列 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数). 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列. 2.标准答案 LeetCode-面试题57-II.和为s的连续正数序列-官方题解 枚举+暴力 枚举+数学优化 双指针 3.心得 由于面试完华为,最近有些松懈,好久没有做题,我拿到题第一眼是有点懵的. 关键点是要理解到,连续正数序列的…
剑指 Offer 57 - II. 和为s的连续正数序列 Offer_57_2 题目描述 方法一:暴力枚举 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/2/12 16:42 */ /** * 题目描述:输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数). * 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列. */ import java.util…
问题描述 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数). 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列. 示例 1: 输入:target = 9 输出:[[2,3,4],[4,5]] 示例 2: 输入:target = 15 输出:[[1,2,3,4,5],[4,5,6],[7,8]]   限制: 1 <= target <= 10^5 代码 如果\(target\)要分解为两个连续的正数和,因为这两个数只相差\(1\),则\((…
和为 S 的连续正数序列 题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列 的和为100(至少包括两个数).没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22.现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 返回值描述: 输出所有和为S的连续正数序列.序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序 题目链接:…
算法训练 连续正整数的和   时间限制:1.0s   内存限制:256.0MB 问题描述 78这个数可以表示为连续正整数的和,1+2+3,18+19+20+21,25+26+27. 输入一个正整数 n(<=10000) 输出 m 行(n有m种表示法),每行是两个正整数a,b,表示a+(a+1)+...+b=n. 对于多种表示法,a小的方案先输出. 样例输入 78 样例输出 1 1218 2125 27   示例代码: import java.util.Scanner; public class…
问题描述 78这个数可以表示为连续正整数的和,++,+++,++. 输入一个正整数 n(<=) 输出 m 行(n有m种表示法),每行是两个正整数a,b,表示a+(a+)+...+b=n. 对于多种表示法,a小的方案先输出. 样例输入 样例输出 解题思路: 枚举i=1-n的数 以i为起点,枚举j=i-n的值,并累加j,当加j后的值大于n,跳出 输出i和j-1(j由于在循环中会多加一次),即累加该区间的值可以得到n AC代码: #include <stdio.h> int main(void…
问题描述 78这个数可以表示为连续正整数的和,1+2+3-+12,18+19+20+21,25+26+27. 输入一个正整数 n(<=10000) 输出 m 行(n有m种表示法),每行是两个正整数a,b,表示a+(a+1)+-+b=n. 对于多种表示法,a小的方案先输出. 样例输入 78 样例输出 1 12 18 21 25 27 import java.util.Scanner; public class 连续正整数的和 { public static void main(String[] a…
PLC编程算法(一) 01 开关量也称逻辑量,指仅有两个取值,0或1.ON或OFF.它是最常用的控制,对它进行控制是PLC的优势,也是PLC最基本的应用. 开关量控制的目的是,根据开关量的当前输入组合与历史的输入顺序,使PLC产生相应的开关量输出,以使系统能按一定的顺序工作.所以,有时也称其为顺序控制. 而顺序控制又分为手动.半自动或自动.而采用的控制原则有分散.集中与混合控制三种. 02 模拟量是指一些连续变化的物理量,如电压.电流.压力.速度.流量等. PLC是由继电控制引入微处理技术后发展…
算法训练 连续正整数的和   时间限制:1.0s   内存限制:256.0MB      问题描述 78这个数可以表示为连续正整数的和,1+2+3,18+19+20+21,25+26+27. 输入一个正整数 n(<=10000) 输出 m 行(n有m种表示法),每行是两个正整数a,b,表示a+(a+1)+...+b=n. 对于多种表示法,a小的方案先输出. 样例输入 78 样例输出 1 1218 2125 27   作者注释:将1~i的和存进数组中的第i个元素,此时只用判断两个元素的差是否等于n…
作业 数字数码管 个数码管) @@@@         0     @          @       1   2     @          @         3        @@@@        4   5     @          @         6     @           @        @@@@ 对于大型灯管,为了节约使用,在切换数字的时候,假设该灯管的状态没有改变,则不须要对该灯管关了再开. 个数码管开关的动作. :0,2,3,5,6 :0,1,4,6,5…
题目:输入一个正数n,输出所有和为n 连续正数序列.例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3 个连续序列1-5.4-6 和7-8. 1.思路 尊崇以下策略: (1)对于固定的left.当前sum值小于目标Sum,则right一直后移 (2).sum==Sum.则输出序列,且将right后移 (3)对于固定的right.,sum>Sum时,始终将left左移动 2.代码 void print(const int& left,const int& rig…
题目描述: 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22.现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 输入: 输入有多组数据. 每组数据仅包括1个整数S(S<=1,000,000).如果S为负数时,则结束输入. 输出: 对应每组数据,若不存在和…