sum

LeetCode | 面试题 57 - Ⅱ. 和为s的连续正数序列【Python】

浪尽此生 提交于 2020-03-06 17:34:34
LeetCode 面试题 57 - Ⅱ. 和为s的连续正数序列【Easy】【Python】【滑窗】【数学】 问题 力扣 输入一个正整数 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 思路 解法一 滑动窗口 i 指针表示窗口左边界,j 指针表示窗口右边界。 当 sum < target 时,j 指针右移。 当 sum > target 时,i 指针右移。 当 sum = target 时,窗口内的数组加入 res,i 指针右移。 注意窗口的 range 是左闭右开 [ )。 时间复杂度: O(n) Python3代码 class Solution : def findContinuousSequence ( self , target : int ) - > List [ List [ int ] ] : # solution one: sliding window i , j = 1 , 1 sum = 0 res = [ ] while i <=

7-21 求前缀表达式的值 (25分)

社会主义新天地 提交于 2020-03-05 23:34:32
参考: https://blog.csdn.net/qq_36254699/article/details/78824351 前缀表达式求值方法: 先将表达式入栈a,将栈a元素逐个出栈,如果是数字,直接入栈b,如果是操作符x,则b出栈2次,用t1接收第一个数,t2接收第二个数,再将t2 x t1的计算 结果压入栈b。 最后留在栈b的结果就是计算的结果。 1 #include <iostream> 2 #include <string> 3 #include <cstring> 4 #include <cmath> 5 #include <iomanip> 6 using namespace std; 7 class stk 8 { 9 public: 10 stk() :r(-1) {} 11 ~stk() {} 12 void push(double k) 13 { 14 s[++r] = k; 15 } 16 double top() 17 { 18 if (r != -1) 19 return s[r--]; 20 } 21 public: 22 double s[100]; 23 int r; 24 }; 25 int main() 26 { 27 stk digit; 28 char exp[110]; 29 cin.getline(exp, 100); 30 int

求两个数的奇数范围的和

牧云@^-^@ 提交于 2020-03-05 13:58:58
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { //求两个数的奇数范围的和 static void Main(string[] args) { int num1 = int.Parse(Console.ReadLine()); int num2 = int.Parse(Console.ReadLine()); int sum = 0; for (int i = num1; i < num2; i++) { if (i % 2 == 0) { if (i == num2 - 1) { Console.Write(i); } else { Console.Write(i+","); } sum = sum + i; } } Console.WriteLine(); Console.WriteLine("sum="+sum.ToString()); Console.ReadKey(); } } } 来源: https://www.cnblogs.com/YuanDong1314/p/3533893.html

Codeforces Round #370 (Div. 2)

风格不统一 提交于 2020-03-05 12:12:42
题目链接: A. Memory and Crow B. Memory and Trident C. Memory and De-Evolution D. Memory and Scores 做出几道说几道,QAQ 分析: A.所要求的第i个数为输入的第i个数与第i+1个数之和,最后一个数直接输出即可 B.统计向左、向右、向上、向下步数为sum1,sum2,sum3,sum4,左右相减取绝对值得sum5,上下相减取绝对值sum6 最后取sum5和sum6的平均值,若总步数为奇则判-1 C.从y处理到x,每次选取三个数中较大的两个a,b,将c变成min(x,a+b-1)即可 D.一道难度中上的DP题,很有意思,建议做一做。 dp[i][j]表示第i轮第一个人得分为j的方案数,然后 递推求dp[i][j]时,先维护前缀和sum[i] =((i?sum[i-1]:0)+dp[i-1][j])%mod;          再更新dp[i][j]=(sum[j]-(j-2*k-1>=0?sum[j-2*k-1]:0))%mod;表示dp[i][j]=j-2*k到j的方案都ok 再维护前缀和sum[j]=((j>0?sum[j-1]:0)+dp[t][j])%mod; 最后: 假设第二个人得分为k,那么j(第一个人得分)+a>k+b  k<j+a-b也就是说第一个人得分为j时方案数为dp[t]

数位DP入门

浪子不回头ぞ 提交于 2020-03-05 06:58:54
考试考dp的时候时常会碰见有关数位dp的问题,每次考到就是一脸懵逼加吃惊,所以今天抽空看了一下有关数位dp的知识,网上有很多大神都说的很好,推荐看几篇blog。 入门经典 慢慢看,很不错 数位DP的套路 数位dp其实看了那么多篇blog感觉就是一个套路,一个记忆化搜索,方法无非是用两个端点的答案相减得到答案。dp主要考得是状态的设定和转移及其优化,对于数位dp来说,转移和优化其实是固定的,变的只是状态的设定,把状态设好了,套上板子处理下边界和正确性就好了,感觉还是要多做题,先贴两道题,之后慢慢更新,可以去vj上坐kuangbin带你飞系列的数位dp专题,题目很适合入门的人。 HDU2089 题面 统计区间 [a,b] 中不含 4 和 62 的数字有多少个。 分析 这其实是一道模板题看了上面两篇blog的做这题会很简单,部分注释写在代码里了。 /************************************************************************* > Author: Drinkwater > Created Time: 2017/8/24 21:55:11 ************************************************************************/ #include<iostream>

【软件测试】4.编程数据结构python学习day03、day04

谁都会走 提交于 2020-03-04 10:25:40
2.4 循环语句 学习目标 1. 能够说出 while 循环语句的作用 2. 能够说出 while 循环的语法格式 3. 能够说出 break 在循环语句中的作用 4. 能够说出 continue 在循环语句中的作用 2.4.1 while 循环 1. while 循环的语法格式 while 条件: 重复执行的一行或多行代码 注意 : 如果条件永远满足 , 则意味着循环永远会被执行 , 叫做死循环 , 这是无意义的 2. while 循环课堂练习 计算 1-100 之间的累加和 i = 1 sum = 0 while i <= 100: sum = sum + i i += 1 print("1~100的累积和为:%d" % sum) 计算 1-100 之间所有的偶数累加和 i = 1 sum = 0 while i <= 100: if i % 2 == 0: sum = sum + i i+=1 print("1~100的偶数的累积和为:%d" % sum) 2.4.2 break 和 continue 我们下面实现一个需求 , 用户输入名字 , 并显示名字 , 当输入 stop 时 , 停止输入 name = '' while name != 'stop': name = input('请输入一个名字(stop停止输入):') if name != 'stop': print

Get aggregated average values joining three tables and display them next to each value in first table

橙三吉。 提交于 2020-03-04 06:28:37
问题 I have three tables which you can also find in the SQL fiddle: CREATE TABLE Sales ( Product_ID VARCHAR(255), Sales_Value VARCHAR(255), Sales_Quantity VARCHAR(255) ); INSERT INTO Sales (Product_ID, Sales_Value, Sales_Quantity) VALUES ("P001", "500", "200"), ("P002", "600", "100"), ("P003", "300", "250"), ("P004", "900", "400"), ("P005", "800", "600"), ("P006", "200", "150"), ("P007", "700", "550"); CREATE TABLE Products ( Product_ID VARCHAR(255), Product_Name VARCHAR(255), Category_ID VARCHAR

js全局访问局部变量

旧城冷巷雨未停 提交于 2020-03-03 09:55:27
1、   在函数内使用this.name(变量名)的方式赋值, 当函数作为普通函数调用时 ,在函数外部可以直接访问到,这是因为这里的this指向window: function fn(){ var r = 2 ; this.ss = 0; this.sum=function(num1,num2){    return (num1+num2)*r; }; } fn(); //var b = new fn(); console.log(ss); //0 console.log(window.sum(1,2)); //6 console.log(sum(1,2)); //6    当函数作为方法函数调用时, 情况又有所不同,这时候this指向发生变化,指向自身: function fn(){ var r = 2 ; this.ss = 0; this.sum=function(num1,num2){    return (num1+num2)*r; }; } var b = new fn(); /* console.log(ss); //error 报错 console.log(window.sum(1,2)); //error 报错 console.log(sum(1,2)); //error 报错 */ //可以通过实例访问 console.log(b.ss); //0

nodejs selenium

 ̄綄美尐妖づ 提交于 2020-03-02 19:59:19
https://www.npmjs.com/package/selenium-webdriver https://www.selenium.dev/selenium/docs/api/javascript/index.html 驱动下载地址 https://github.com/mozilla/geckodriver/releases/ 0.26.0版本驱动 支持chrome 71~75 firefox 0.26.0 支持目前最新的版本 将下载的驱动和文件放到一起或者加入path 截图百度搜索 const {Builder, By, Key, until, Options} = require('selenium-webdriver'); const fs = require('fs'); const firefox = require('selenium-webdriver/firefox'); function waitTime(n) { return new Promise(resolve => setTimeout( () => resolve() , n )) } (async function example() { let options = new firefox.Options() options.headless() let driver = await new

关于SQL语句的问题

我的未来我决定 提交于 2020-03-02 19:45:24
====================问题描述==================== 本人菜鸟 最近在学习有关于安卓数据库的东西 有个问题不知道该怎么解决 比如现在有一张表a,a里有四个字段q,w,e,r。其中e是int类型的,现在要获取表中所有e的总和,代码该怎么写啊。数据库是database,是用database.rawQuery()这个方法吗? 求大神指教! ====================解决方案1==================== int sum(SQLiteDatabase db) { Cursor cursor = db.rawQuery("select sum(e) from a", null); cursor.moveToNext(); int sum = cursor.getInt(0); cursor.close(); return sum; } ====================解决方案2==================== 楼上正解,不过我觉得这样比较好 int sum() { SQLiteDatabase db = dbManger.getInstance(); Cursor cursor = db.rawQuery("select sum(e) from a", null); cursor.moveToNext(); int