首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏SH云界途

    友邦签到打卡协议(简略版)

    这段代码是一个方法实现,用于通过校友邦的登录接口进行登录,并结合 Redis 缓存来优化请求中敏感信息(加密值)的获取。以下是具体分析: 1. 方法签名 public JSONObject xiaoYouBangLogin(InitClockInfo clockInInfo) 方法功能:实现校友邦的登录操作。 2. 登录接口地址 String loginUrl = "https://xcx.xybsyw.com/login/login.action"; 作用:设置校友邦的登录接口 API 地址,后续会向该地址发送请求

    64921编辑于 2025-02-16
  • 来自专栏SH云界途

    友邦自动打卡签到算法(一)

    话不多说直接开始这段代码主要实现了一个功能:通过调用校友邦 API 登录用户账户,并结合 Redis 对某些数据进行缓存处理,以提高后续请求的效率。以下是对代码的语法和语义进行详细分析:1. 2.

    86810编辑于 2025-02-16
  • 来自专栏修也的进阶日记

    【C语言】备战赛Day2

    输入样例 4 3310120150912233 2 4 3310120150912119 4 1 3310120150912126 1 3 3310120150912002 3 2 2 3 4 输出样例 3310120150912002 2 3310120150912119 1 解题代码 #include<stdio.h> #include<stdio.h> typedef 输出描述 首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1*因子2*……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。 unsigned int start = 0; // 最小连续因子序列的起始因子 // 枚举因子 i,i 的最大取值为 sqrt(N) for (unsigned int i = 2;

    25310编辑于 2024-04-01
  • 来自专栏OI

    集训Part2 NBCX Day2 XVII 题解

    集训Part2 NBCX Day2 XVII 题解 题意 有n个长度为32的只包含小写字母的字符串,问每个字符串读入时它之前有没有出现过? 输出n行,每行输出Yes或No。 时间限制:6s 空间限制:**2M** 思路 出题人好心地帮我们把2M标红了… 考虑使用map,虽然map的准确性高,但是不仅常数大(但出题人好心地给了6s)空间上也会MLE。 ; break; } } if(ans.test(i)==0) add(V1,V2) ; } }H; string str; int n,V1,V2; char c; signed main(){ File ans.reset(); srand if(V1<LV1>R) continue ;//是否在区间内 V1-=L;//减去边界值,防止越界 H.Work(i,V1,V2)

    31810编辑于 2022-09-19
  • 来自专栏木又AI帮

    打卡2刷题总结1008——环形链表

    输入:head = [3,2,0,-4], pos = 1 输出:true 解释:链表中有一个环,其尾部连接到第二个节点。 示例 2: ? 输入:head = [1,2], pos = 0 输出:true 解释:链表中有一个环,其尾部连接到第一个节点。 示例 3: ? 环形链表 II 解题思路: 慢指针前进步数:step = a + b + n * c (a为进环前的元素数;b为剩余的步数,c为环的元素数) 快指针前进步数:2 * step = a + b + m * c (m > n,m - n为快指针相对于慢指针多走了多少圈) 环的起点位置,对应前进步数为a,那么:a = (m - 2n) * c - b 进一步得到:a = (m - 2n + 1) * c + * step = a + b + m * c (m > n,m - n为快指针相对于慢指针多走了多少圈) # ==> a = (m - 2n) * c - b # a =

    43920发布于 2020-10-10
  • 来自专栏脑洞前端

    【Leetcode每日打卡2种O(N)法解决

    比如[3, 2, 1, 2, 1, 7]就映射成了[3, 2, 1, 4, 5, 7]。 我想了下,这道题目其实和解决hash冲突的线性探测法比较相似! 下面用样例2:[3, 2, 1, 2, 1, 7],来模拟一遍线性探测的过程。 模拟的过程中用int move来记录操作数(即要求的增量数)。 step1: 插入3: ? (此时数组变成了上图,红色表示本次的更改) move = 0 保持不变; step2: 插入2: ? 因为2的位置是空的,所以直接放入2即可。 (此时数组变成了上图,红色表示本次的更改) move = 0 保持不变; step4: 插入2: ? 此时我们发现2的位置已经有值了,于是继续向后探测,直到找到空位4,于是2映射到了4。 ⚠️并且!! 此时我们发现1的位置已经有值了,于是向后探测,探测到了2,发现2的位置也有值了,但是由于2在上次的过程中存了上次的空位4,所以我们直接跳转到4+1即从5开始探测就行了(而不需要重复走一遍2->3->4这条路径喽

    54410发布于 2020-03-24
  • 来自专栏Unity3D

    打卡算法☆LeetCode 2、两数相加 算法解析

    比如: l1 = [1,2,3],l2 = [4,5,6] 输出:[9,7,5] 因为321 + 654 = 975 ,返回 [9,7,5] 。 2、代码实现 假设当前两个链表处相应位置的数字为n1,n2,进位值为carry,则它们的和为newVal=n1+n2+carry; 那么答案链表新的进位值为(n1 + n2 + carry) / 10 { public ListNode AddTwoNumbers(ListNode l1, ListNode l2) { ListNode p1 = l1, p2 = l2 0: p1.val) + (p2 == null ? null: p1.next; p2 = p2 == null?

    25230编辑于 2022-08-07
  • 来自专栏木又AI帮

    打卡2刷题总结1007——反转链表

    示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题?

    41550发布于 2020-10-10
  • 来自专栏大白技术控的技术自留地

    滴滴2016.09.06招 在线笔试 - 2道编程题

    滴滴2016.09.06招 在线笔试 - 2道编程题 1、连续子数组的最大和 题目描述 一个数组有N个元素,求连续子数组的最大和。例如:[-1,2,1],和最大的连续子数组为[2,1],其和为3。 输入例子 3 -1 2 1 输出例子 3 分析: 参考解答: #include <iostream> #include <algorithm> using namespace std; int main 0) sum = temp; else sum += temp; mx = max(sum, mx); } printf("%d\n",mx); } 2、 输入描述 输入包括m+2行。 输入例子 3 5 2 4 2 1 3 3 5 3 7 5 9 1 10 输出例子 20 分析: 贪心法。先把顾客进行消费金额降序,人数升序排序。

    1.3K10发布于 2019-03-05
  • 来自专栏数据结构与算法

    联考模拟赛Day2T2矩阵(容斥原理)

    dp,还和指数级枚举一个分qwq 设$f[i][j]$表示到了第$i$行,已经有$j$列被染黑,然后暴力转移上一行有几个黑格子 正解是容斥 首先固定好列,也就是保证每一列都有一个黑格子 这样的方案是$(2^ fi first #define se second #define int long long #define LL long long //#define getchar() (p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 1<<22, stdin), p1 == p2) ? * 1e5; fac[0] = 1; po2[0] = 1; for(int i = 1; i <= N; i++) fac[i] = i * fac[i - 1] % mod, po2 [i] = (po2[i - 1] * 2) % mod; ifac[N] = fastpow(fac[N], mod - 2); for(int i = N; i >= 1; i--

    45910发布于 2018-09-17
  • 来自专栏木又AI帮

    打卡2刷题总结1005——有效的括号

    示例 1: 输入: "()" 输出: true 示例 2: 输入: "()[]{}" 输出: true 示例 3: 输入: "(]" 输出: false 示例 4: 输入:

    45310发布于 2020-10-10
  • 来自专栏木又AI帮

    打卡2刷题总结1014——爬楼梯

    每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1 阶 2. 1 阶 + 2 阶 3. 2 阶 + 1 阶 【思路】 爬到第i步台阶,最后一步可能是从第i-1步台阶爬1个台阶,也可能是从第i-2步台阶排2个台阶。 dp = [1, 2] for i in range(2, n): dp.append(dp[i - 1] + dp[i - 2]) 使用最小花费爬楼梯 解题思路:dp[i]表示爬到第i步台阶的最小花费,dp[i] = min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2])。

    54750发布于 2020-10-30
  • 来自专栏木又AI帮

    打卡2刷题总结1002——搜索插入位置

    示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1,3,5,6], 7 输出: 4 2、二分查找:题目类型为找到第一个大于等于target的元素,返回其位置。 二分查找一般使用通用代码: i, j = 0, len(nums) - 1 while i <= j: mid = (i + j) // 2 if nums[mid] > target: j = 2)写入模板,根据需要更改运算符及返回值;比如,找到第一个大于target的元素,运算符应该是>,返回的是i。 target的元素 # nums[r] < target <= nums[l] while l <= r: mid = (l + r) // 2

    52430发布于 2020-10-10
  • 来自专栏OI

    集训Part1 QZEZ Day2 A洗牌 题解

    集训Part1 QZEZ Day2 A洗牌 题解 题意 无聊的时间,小 K 喜欢和他的室友们一起打扑克(这副扑克很神奇,上面写着 1 到 n 的数字各一张),打扑克前当然要先洗牌啦。 宿舍洗牌的方式十分简单,先将所有牌平均分成两份,然后交叉地混合到一起,举个例子,六张牌 1 2 3 4 5 6 在混合后后会变成 1 4 2 5 3 6,但是这样的问题很明显,第一张牌和最后一张牌一定不会变化 那么就预先处理出2^n变换的f函数,对于每次询问倍增就好了。 设f[i][j]为2^i次,第j位的变换。 write(x/10); putchar(x%10+'0'); } } inline char nc(){ static char buf[100000],*p1=buf,*p2= buf; return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?

    34310编辑于 2022-09-19
  • 来自专栏木又AI帮

    打卡2刷题总结1003——搜索旋转排序数组

    ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 示例 1: 输入: nums = [4,5,6,7,0,1,2], target = 0 输出: 4 示例 2: 输入: nums = [4,5,6,7,0,1,2], target = 3 2、二分查找特殊变形。必须理解到:不管怎么旋转,总有一部分区间是有序的。比如,l->mid和mid->r之中至少有一个是有序的。 target: int) -> int: l, r = 0, len(nums) - 1 while l <= r: mid = (l + r) // 2

    64331发布于 2020-10-10
  • 来自专栏腾讯教育黑板报

    深圳罗湖个性化运动任务打卡来了

    标杆示范先行 全区有序开展个性化体育锻炼任务 “每天运动一小时,健康幸福一辈子”,这是2022年深圳市罗湖区中小学寒假个性化锻炼任务的口号。 为了进一步保障区内中小学校顺利参加本次任务打卡活动,1月6日起,在罗湖区教育局德体卫艺劳科的指导下,罗湖区智慧教育云平台项目组腾讯教育智脑团队、悦动圈团队,以深圳市华丽小学、深圳市翠北实验小学为试点先行试点 ,参与学校寒假个性化体育锻炼任务打卡活动的前期测试。 全区学生课外运动数据分析 截至目前,两所标杆的试点先行个性化体育锻炼任务预热已完成,罗湖区各中小学校正有序参与该运动任务打卡。 学生运动任务打卡数据统计表 基于腾讯智脑“小鹅学伴”、“悦动圈”多个应用,各学校老师不仅可以查看其所负责班级学生的所有打卡任务数据、有效制定锻炼任务,家长亦可查看孩子最新体测数据及运动建议,陪伴孩子完成个性化体育锻炼任务

    1.2K40编辑于 2022-02-08
  • 来自专栏信息技术智库

    【每日SQL打卡】​​​​​​​​​​​​​​​DAY 2丨连续出现的数字【难度中等】

    +----+-----+ | Id | Num | +----+-----+ | 1  |  1  | | 2  |  1  | | 3  |  1  | | 4  |  2  | | 5  |  1   | | 6  |  2  | | 7  |  2  | +----+-----+ 例如,给定上面的 Logs 表, 1 是唯一连续出现至少三次的数字。

    36920编辑于 2022-07-29
  • 来自专栏大白技术控的技术自留地

    华为招2016.09机试 第2题: 字符串查找

    华为招2016.09机试 第2题: 字符串查找 描述: 输入两个字符串,查找字符串1中与字符串2最先匹配的内容,将匹配的字符串输出。字符串2支持?通配符,?代表任意一个字符。 已知字符串2不可能出现只有?的情况。 字符串1和字符串2的最大长度为128。

    65720发布于 2019-03-05
  • 来自专栏苦逼的码农

    从零打卡leetcode之day 2--两数相加

    前言 深知自己在算法方面上很菜,于是打算通过打卡的方式,逼自己一把。每天在leetcode上打卡,并且把自己的想法分享出来。这将是一段漫长而又艰辛的旅程。 ---- 从零打卡leetcode之day 2 题目描述: 给定两个非空链表来表示两个非负整数。 位数按照逆序方式存储, 它们的每个节点只存储单个数字。 将两数相加返回一个新的链表。 = null){ num2 = num2 + l2.val * t; t = t * 10; l2 = l2.next; } // = null && l2 ! = null){ cout += l2.val; l2 = l2.next; } temp.next

    73020发布于 2018-08-30
  • 来自专栏大白技术控的技术自留地

    今日头条招2016-09-28在线编程题(2题)

    String Shifting 题目描述: 我们规定对一个字符串的shift操作如下: shift("ABCD",0)="ABCD" shift("ABCD",1)="BCDA" shift("ABCD",2) 对于n=11, m=4, 按字典序排列依次为1, 10, 11, 2, 3, 4, 5, 6, 7, 8, 9, 因此第4个数是2. 样例输入: 11 4 样例输出: 2 Hint: 数据范围: 对于20%的数据, 1 <= m <= n <= 5 ; 对于80%的数据, 1 <= m <= n <= 10^7 ; 对于 所以排序后的数列第n项 An=An−1⋅10+i|i=0,1,2,3,...,9An=An−1⋅10+i|i=0,1,2,3,...,9A_{n}=A_{n-1}\cdot 10+{i|i=0,1,2,3 ,...,9} A1=i|i=1,2,3,...,9A1=i|i=1,2,3,...,9A_{1}={i|i=1,2,3,...,9} 第n项可以用第n-1项表示的,就能用递归算法解决。

    64810发布于 2019-03-05
领券