res

lintcode30. 插入区间

五迷三道 提交于 2020-02-05 02:42:23
给出一个无重叠的按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间) 样例 样例 1 : 输入 : ( 2 , 5 ) into [ ( 1 , 2 ) , ( 5 , 9 ) ] 输出 : [ ( 1 , 9 ) ] 样例 2 : 输入 : ( 3 , 4 ) into [ ( 1 , 2 ) , ( 5 , 9 ) ] 输出 : [ ( 1 , 2 ) , ( 3 , 4 ) , ( 5 , 9 ) ] /** * Definition of Interval: * classs Interval { * int start, end; * Interval(int start, int end) { * this->start = start; * this->end = end; * } * } */ class Solution { public : /** * @param intervals: Sorted interval list. * @param newInterval: new interval. * @return: A new interval list. */ static bool cmp ( Interval & a , Interval & b ) { return a

045 函数的嵌套

夙愿已清 提交于 2020-02-04 06:57:12
函数的嵌套 函数的嵌套其实就是在一个函数内部在定义一个函数 1.函数的嵌套定义 一旦在函数内部定义一个函数,那么函数体内的函数,无法在函数外部使用 def f1(): def f2(): print('from f2') f2() f2() # # NameError: name 'f2' is not defined def f1(): def f2(): print('from f2') f2() f1() # from f2 通过给一个函数传参即可求得某个圆的面积或者圆的周长 import cmath def circle(r,choice): def area(): return cmath.pi*r**2 def perimeter(): return 2*cmath.pi*r if choice == 'area': return area() else: return perimeter() res = circle(3,'perimeter') print(res) # 18.84955592153876 res = circle(3,'area') print(res)# 28.274333882308138 2.函数的嵌套调用 通过函数嵌套求几个数的大小 def max2(x,y): if x > y: return x else: return y res =

Educational Codeforces Round 81

拟墨画扇 提交于 2020-02-01 05:04:39
C. Obtain The String 题意:给两个字符串s,t选择最少的s的子序列拼接成t 用多个s去匹配t,看能否把t匹配完,这样暴力跑每个字符会t,所以可以进行一点优化,记录s中每个字符后面出现了哪些字符,然后就可以O(1)地进行转移; # include <bits/stdc++.h> # include <iostream> # include <cstring> # include <cstdio> # define mod (10007) # define middle (l+r)>>1 # define SIZE 1000000+5 # define lowbit(x) (x&(-x)) # define lson (rt<<1) # define rson (rt<<1|1) typedef long long ll ; typedef long double ld ; const int inf_max = 0x3f3f3f ; const ll Linf = 9e18 ; const int maxn = 1e5 + 5 ; const long double E = 2.7182818 ; const double eps = 0.0001 ; using namespace std ; inline int read ( ) { int f = 1 ,

SSM和Vue的axios向后端发送请求URL是HTML“html/manager/teacher_info_manage.html?username=admin”

亡梦爱人 提交于 2020-01-31 02:02:13
错误 错误代码 <form> <input type="text" class="form-control" name="username" placeholder="请输入要查询的用户名..." v-model="searchContent" :value="searchContent"> <input type="submit" class="btn btn-success" value="搜索" @click="search()"> </form> vue代码 search: function () { var _this = this; axios.get("/managerUser/searchTeacher?searchContent=" + _this.searchContent).then(function (res) { // 为page对象赋值 _this.page.pageSize = res.data.data.pageSize; _this.page.pageIndex = res.data.data.pageIndex; _this.page.totalRecords = res.data.data.totalRecords; _this.page.totalPages = res.data.data.totalPages; _this.page

小程序点击添加图片

偶尔善良 提交于 2020-01-28 12:18:56
wxml: <view class="uPic"> <view class="tit">头像:</view> <view class=""><image src="{{imageList}}" class="uPicimg" mode="scaleToFill" bindtap="chooseImg"></image></view> </view> wxss:此处省略样式代码!!!! js: chooseImg:function () { var that = this wx.chooseImage({ sourceType: sourceType[this.data.sourceTypeIndex], sizeType: sizeType[this.data.sizeTypeIndex], success: function(res) { var tempFilePaths = res.tempFilePaths[0] console.log(res.tempFilePaths) that.setData({imageList: res.tempFilePaths[0]}) } }) }, 来源: https://www.cnblogs.com/zpflxd1611/p/6861117.html

337. 打家劫舍 III(中等题)

瘦欲@ 提交于 2020-01-28 04:44:44
题目描述: 在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。 计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。 示例 1: 输入: [3,2,3,null,3,null,1] 3 / \ 2 3 \ \ 3 1 输出: 7 解释: 小偷一晚能够盗取的最高金额 = 3 + 3 + 1 = 7. 示例 2: 输入: [3,4,5,1,3,null,1] 3 / \ 4 5 / \ \ 1 3 1 输出: 9 解释: 小偷一晚能够盗取的最高金额 = 4 + 5 = 9. 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/house-robber-iii 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 暴力递归: /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode

Codeforces 31d 题解

被刻印的时光 ゝ 提交于 2020-01-28 01:42:26
题意:给你一个位数为 2 n 2n 2 n 的数字 S S S ,两个初始为 0 0 0 的数字 A , B A,B A , B ,每次你可以将 S S S 中最靠左的一位在 S S S 中删除掉并接在 A A A 或者 B B B 其中一个的后面,要求整个操作结束后,必须 A A A 与 B B B 都恰好被接 n n n 次,最大化 A + B A+B A + B 的值,输出方案 n ≤ 18 n\leq 18 n ≤ 1 8 我们考虑线性做法 O(n)跑18 ,我们已经在A和B中放好了S的前i个数,其中A放了j个,B放了k个,那么我们对于第i+1个数,它可以放在A或B的末尾,于是我们有了状态转移方程 f [ i ] [ j ] [ k ] = m a x ( f [ i − 1 ] [ j − 1 ] [ k ] + s [ i ] ∗ 1 0 n − j ) , f [ i − 1 ] [ j ] [ k − 1 ] + s [ i ] ∗ 1 0 n − k ) f[i][j][k]=max(f[i-1][j-1][k]+s[i]*10^{n-j}),f[i-1][j][k-1]+s[i]*10^{n-k}) f [ i ] [ j ] [ k ] = m a x ( f [ i − 1 ] [ j − 1 ] [ k ] + s [ i ] ∗ 1 0 n − j )

Codeforces Round #611 (Div. 3)

て烟熏妆下的殇ゞ 提交于 2020-01-28 01:27:08
F 题意:给你n-1边,n个灯,每个边连着两颗灯,有主,次灯区别,电流由主到次,每条边有一个特性,取消这条边后n个灯不能亮的值(每个灯亮值为2^i,灯编号i),由特性值由大到小给出每条边的主灯,求出每对主灯次灯。 题解:可知是一棵树,排第一个的肯定是原点,即根。然后没出现的肯定是叶子节点,我们遍历一遍求出叶子节点,然后我们知道灯亮与编号有关,所以我们由将叶子节点放入优先队列,叶子节点从小到大与主灯从小到大匹配,当主灯中的cnt【i】为0,说明他已经没有子树,也就是他也是一颗“叶子节点了” 就放入优先队列中继续匹配。 #include<bits/stdc++.h> using namespace std; const int maxn=2e5+10; priority_queue<int,vector<int>,greater<int> >pq; int k,n,x[maxn],vis[maxn],cnt[maxn]; vector<pair<int,int> >G; int main() { cin>>n; int tot=n-1; for(int i=1;i<n;i++){ cin>>x[i]; vis[x[i]]=1; cnt[x[i]]++; } printf("%d\n",x[1]); for(int i=1;i<=n;i++){ if(!vis[i]) pq.push(i

[LeetCode] 225、用队列实现栈

五迷三道 提交于 2020-01-27 00:58:44
题目描述 用队列实现栈 参考代码 相似题目: [LeetCode] 232、用栈实现队列 ,简单题。 bool g_invalidInput = false ; class MyStack { public : /** Initialize your data structure here. */ MyStack ( ) { // nothing } /** Push element x onto stack. */ void push ( int x ) { if ( ! q1 . empty ( ) ) q1 . push ( x ) ; else q2 . push ( x ) ; } /** Removes the element on top of the stack and returns that element. */ int pop ( ) { if ( ! q1 . empty ( ) ) { int num = q1 . size ( ) ; while ( num != 1 ) { q2 . push ( q1 . front ( ) ) ; q1 . pop ( ) ; num -- ; } int res = q1 . front ( ) ; q1 . pop ( ) ; return res ; } else { int num = q2 . size

PAT 乙级 1055.集体照 C++/Java

孤街醉人 提交于 2020-01-25 17:59:05
题目来源 拍集体照时队形很重要,这里对给定的 N 个人 K 排的队形设计排队规则如下: 每排人数为 /(向下取整),多出来的人全部站在最后一排; 后排所有人的个子都不比前排任何人矮; 每排中最高者站中间(中间位置为 /,其中 m 为该排人数,除法向下取整); 每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人的两侧(例如5人身高为190、188、186、175、170,则队形为175、188、190、186、170。这里假设你面对拍照者,所以你的左边是中间人的右边); 若多人身高相同,则按名字的字典序升序排列。这里保证无重名。 现给定一组拍照人,请编写程序输出他们的队形。 输入格式: 每个输入包含 1 个测试用例。每个测试用例第 1 行给出两个正整数 N( ≤,总人数)和 K( ≤,总排数)。随后 N 行,每行给出一个人的名字(不包含空格、长度不超过 8 个英文字母)和身高([30, 300] 区间内的整数)。 输出格式: 输出拍照的队形。即K排人名,其间以空格分隔,行末不得有多余空格。注意:假设你面对拍照者,后排的人输出在上方,前排输出在下方。 输入样例: 10 3 Tom 188 Mike 170 Eva 168 Tim 160 Joe 190 Ann 168 Bob 175 Nick 186 Amy 160 John 159 输出样例: Bob Tom Joe