代码源第五周

第一题:碰撞2

 

​ 在xy坐标系中有N个人,第i个人的位置是 (Xi,),并且每个人的位置都不同。我们有一个由 L 和 R 组成的长为N的字符串S,SiR 代表第 个人面向右, L 代表第 个人面向左。​ 现在所有人开始朝着他们各自面向的方向走,即面向右 就增,面向左 就减。

​ 例如,当 (X1,Y1)=(2,3),(X2,Y2)=(1,1),(X,)=(4,1),S= RRL 时,人们的移动如图。

​ 我们把两个人对向行走到一个位置称为一次碰撞。请问如果人们可以无限走下去,会有人产生碰撞吗?

输入格式

​ 第一行一个整数N;​ 接下来N行,每行两个整数Xi和Yi,表示第i个人的位置;​ 最后一行是一个由 L 和 R 组成的长为N的字符串S。

输出格式

​ 如果会有碰撞,输出 Yes,否则输出 No。

样例输入 1

3 2 3 1 1 4 1 RRL

样例输出 1

Yes

因为只有处于同一横线上的人才会相撞,所以以y轴为区分,用哈希表来存数据。然后以x排序,x小的排在前面,再遍历一下y相同的人,只要前面有一个是向右走,且后面有一个向左走的,就说明他们会相撞,直接输出yes后结束程序即可。如果遍历所有的y轴都没有相撞的,就输出NO。

代码:

#include<bits/stdc++.h>
using namespace std;

#define endl '\n';
typedef long long ll;
typedef pair<int, char> PII;

inline int read() {
    int x = 0; char ch = getchar();
    while (ch < '0' || ch > '9') ch = getchar();
    while (ch >= '0' && ch <= '9') x = (x << 3) + (x << 1) + ch - '0', ch = getchar();
    return x;
}

void write(int x) {
    if (x > 9) write(x / 10);
    putchar(x % 10 | '0');
}

bool operator<(PII a, PII b)
{
    return a.first < b.first;
}
int main()
{
    int n;
    n = read();
    unordered_map<int, set<PII>>mymap;
    vector<pair<int,int>>v(n);
    for (int i = 0; i < n; i++)
    {
        v[i].first = read(), v[i].second = read();
    }
    string str;
    cin >> str;
    for (int i = 0; i < n; i++)
    {
        mymap[v[i].second].insert({ v[i].first,str[i]});
    }
    bool flag = false;
    for (auto i : mymap)
    {
        bool st = false;
        for (auto j : i.second)
        {
            if (j.second == 'R')st = true;
            else if (st && j.second == 'L')
            {
                flag = true;
                break;
            }
        }
        if (flag)break;
    }
    if (flag)
    {
        cout << "Yes" << endl;
    }
    else cout << "No" << endl;
    return 0;
}

第二题:优美!最长上升子序列

多组数据。

每组将给定一个数组。派派希望从中选择一个递增的子序列,越长越好。

但派派认为,这样选出来的子序列依然不够「优美」,形式化的讲,派派希望选择的下标(从1开始)需要满足i1∣i2∣i3∣⋯∣ik其中a|b表示整除, 即a是b的约数。请你帮助派派完成任务吧!注:子序列的含义不再赘述。

输入格式

第一行一个整数T,表示接下来有T组数据。每组数据包含两行,第一行包含一个整数N。随后一行,包含N个整数,表示原数组{A}。

输出格式

对于每组数据,输出一行,包含一个数,表示能选出的「优美」的最长上升子序列长度。

数据规模

1≤T≤100    1≤N≤106,但保证∑i=1TNi≤106  1≤Ai≤109

样例输入

4 4 1 4 6 7 2 2 2 10 1 2 3 4 5 6 7 8 9 10 10 10 9 8 6 5 2 3 1 2 1

样例输出

3 1 4 1

解释:

对于第一组数据,能选择的「优美」最长上升子序列为 {A1,A2,A4}={1,4,7}。对于第三组数组,选择 {A1,A2,A4,A8}={1,2,4,8}。对于第四组数据,可选择的「优美」最长上升子序列长度为1。

这题比最长上升子序列多了一个条件,就是选择的子序列在数组里的位置有倍数关系。整体还是用dp的思路。

代码:

#include<bits/sstdc++.h>
using namespace std;

#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")

#define endl '\n';
typedef long long ll;
typedef pair<int, int> PII;
const int N = 4e5 + 50;

inline int read() {
    int x = 0; char ch = getchar();
    while (ch < '0' || ch > '9') ch = getchar();
    while (ch >= '0' && ch <= '9') x = (x << 3) + (x << 1) + ch - '0', ch = getchar();
    return x;
}

void write(int x) {
    if (x > 9) write(x / 10);
    putchar(x % 10 | '0');
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    int t;
    t=read();
    while (t--)
    {
        int n, mx = 1;
        n=read();
        vector<int>v(n+1), dp(n+1,1);
        for (int i = 1; i <= n; i++)v[i]=read();
        for (int i = 1; i <= n; i++)
        {
            for (int j = i * 2; j <= n; j += i)
            {
                if (v[j] > v[i])dp[j] = max(dp[j], dp[i] + 1);
                mx = max(mx, dp[j]);
            }
            
        }
        write(mx);
        putchar('\n');
    }
    return 0;
}

第三题:巨大的牛棚

题目描述

农夫约翰想要在他的正方形农场上建造一座正方形大牛棚。他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方。我们假定,他的农场划分成 n * n的方格。输入数据中包括有树的方格的列表。你的任务是计算并输出,在他的农场中,不需要砍树却能够修建的最大正方形牛棚。牛棚的边必须和水平轴或者垂直轴平行。 考虑下面的方格,它表示农夫约翰的农场,‘.'表示没有树的方格,‘#'表示有树的方格........ .#...#.. ........ ........ ........ ..#..... ........ ........那么最大的牛棚是5*5的。

输入描述

第一行输入一个正整数n(1≤n≤1000)代表农场的大小,一个正整数T(1≤T≤n∗n), 接下来T行,每行2个整数,代表有树的格子的横纵坐标,保证任意两个树格子不相同

输出描述

输出一个正整数代表牛棚的最大边长

样例输入

8 3 2 2 2 6 6 3

样例输出

5

用dp处理,转移方程为dp[i][j] = min(dp[i][j-1],dp[i-1][j],dp[i-1][j-1])+1 。

代码:

#include<bits/stdc++.h>
using namespace std;

#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")

#define endl '\n';
typedef long long ll;
typedef pair<int, int> PII;
const int N = 4e5 + 50;

int n, m, mapp[1010][1010];
int dp[1010][1010];

int main(int argc, char const* argv[])
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    cin >> n >> m;
    memset(mapp, 1, sizeof(mapp));
    for (int i = 1; i <= m; ++i)
    {
        int x, y;
        cin >> x >> y;
        mapp[x][y] = 0;
    }

    int maxx = -1;

    for (int i = 1; i <= n; ++i)
    {
        for (int j = 1; j <= n; ++j)
        {
            if (mapp[i][j])
            {
                dp[i][j] = min(min(dp[i - 1][j], dp[i][j - 1]), dp[i - 1][j - 1]) + 1;
            }
            maxx = max(maxx, dp[i][j]);
        }
    }

    cout << maxx;

    return 0;
}

 第四题:高利贷

19岁的大学生小L家里情况不好,每月固定生活费不足以买一部苹果手机。当他得知有贷款机构可以贷小额贷款并且可以分期等额还款,每月只需要还几百块时,在虚荣心的驱使下他开始自己的贷款之旅。贷款机构声称利率按月累计,贷款人在贷款期间每月偿还固定的分期付款金额。给出小L贷款的原值为n,分期付款金额m和分期付款还清贷款所需的总月数k,求该贷款的月利率p。

输入格式

三个用空格隔开的正整数n,m,k,含义如上述所示。

输出格式

一个实数p,表示该贷款的月利率(用小数表示),和标准输出绝对值不超过10−6即可。

数据范围

1≤n,m≤106,1≤k≤300  0≤p≤5,n≤m×k

输入样例1

1000 1200 1

输出样例1

0.200000

输入样例2

1000 100 12

输出样例2

0.029229

样例解释

对于第一组样例,小L贷款了1000元,并在一个月后支付1200元还清了贷款。因此计算月率

p的公式为1000×(1+p)=1200或12001+p=1000,求出p=0.200000。对于第二组样例,小L贷款了1000元,并以每月支付100元的方式在12个月后还清了贷款。由于月利率的存在,他第

k个月偿还的金额只相当于100(1+p)k元的初始金额,且这12个月共偿还初始金额1000元,求出p=0.029229。

 在0到5的区间内二分枚举p,并用枚举的p来计算出k个月偿还的金额是否等于n。如果少了说明p小了,如果多了说明p大了。

代码:

#include<bits/stdc++.h>
using namespace std;

#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")

#define endl '\n';
typedef long long ll;
typedef pair<int, int> PII;
const int N = 1050;

double check(double mid, int k, int m)
{
    double res = 0,p=1+mid;
    for (int i = 1; i <= k; i++)
    {
        res += m / p;
        p *= (1 + mid);
    }
    return res;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    ll n, m, k;
    cin >> n >> m >> k;
    double l = 0, r = 5;
    while (r - l >= 1e-8)
    {
        double mid = (r + l) / 2;
        double money = check(mid,k,m);
        if (money > (double)n)l = mid;
        else r = mid;
    }
    cout << fixed << setprecision(6) << l << endl;
    return 0;
}

第五题:背包

cc有一个背包,背包的体积为w,有n个物品,每一个物品的体积为aicc希望将其中的一些物品放入他的背包中,他希望这些物品的体积之和至少是背包体积的一半,并且不超过背包的体积,即⌈w/2⌉≤sum≤w请你帮cc判断这些物品中有没有符合条件的物品组合,如果有输出"YES", 没有输出"NO"。cc至少会拿一个物品

输入格式

第一行给出测试样例个数T对于每一个样例:第一行给出一个n和一个w,n个物品,背包的总体积是w第二行给出一个序列a1,...an,代表每一个物品的体积

输出格式

如果有请输出"YES", 没有输出"NO"数据范围

1≤t≤1e4

1≤∑n≤2e5,1≤w≤1e18

0≤wi≤1e9

样例输入1

3 1 3 3 6 2 19 8 19 69 9 4 7 12 1 1 1 17 1 1 1

样例输出

YES NO YES

 把所有小于等于背包体积一半的都装在背包里,其他的判断是否在二分之w到w之间。

代码:

#include<bits/stdc++.h>
using namespace std;

#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")

#define endl '\n';
typedef long long ll;
typedef pair<int, int> PII;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    int t;
    cin >> t;
    while (t--)
    {
        ll n, m;
        cin >> n >> m;
        ll res = 0;
        vector<ll>v(n);
        bool flag = false;
        for (int i = 0; i < n; i++)
        {
            cin >> v[i];
            if (!flag&&v[i] >= (m + 1) / 2 && v[i] <= m)
            {
                cout << "YES" << endl;
                flag = true;
            }
        }
        if (flag)continue;
        for (int i = 0; i < n; i++)
        {
            if (v[i] < (m + 1) / 2)
            {
                res += v[i];
            }
            if (res >= (m+1) / 2 && res <= m)
            {
                flag = true;
                cout << "YES" << endl;
                break;
            }
            if (res > m)break;
        }
        if (!flag)cout << "NO" << endl;
    }
    return 0;
}

第六题:三回文序列

给定一个长度为n的序列a。我们定义三回文序列是形如a...ak1b...bk2a...a

k1的序列,例如:[1,1,1,2,2,1,1,1]是一个三回文序列,而[1,1,1,2,2,2,3,3,3][1,1,2,2,1]都不是三回文序列。现在,希望你找到序列a中最长的三回文序列的长度。注意,

k1,k2可以为0

输入格式

第一行给出一个数字T,表示T组测试用例对于每一个测试用例第一行给出序列的长度n第二行给出序列a1,a2,a3...an

输出格式

对于每一个测试用例,输出最长的三回文序列的长度。

数据范围

1≤t≤2000 1≤∑n≤2e5,1≤ai≤26

样例输入

6 8 1 1 2 2 3 2 1 1 3 1 3 3 4 1 10 10 1 1 26 2 2 1 3 1 1 1

样例输出

7 2 4 1 1 3

遍历一遍数组,记录每个元素的出现次数,然后枚举所有的数作为a。每次枚举把两边的a的个数都算出来,再枚举中间的b的个数,取总和最大值。

代码:

#include<bits/stdc++.h>
using namespace std;

#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")

#define endl '\n';
typedef long long ll;
typedef pair<int, int> PII;

int n;

int change(vector<int>v, int ans, vector<int>nums)
{
    int l = 0, r = n - 1, cnt = 0, res = nums[ans];
    while (l < r)
    {
        while (l < r && v[l] != ans)
        {
            nums[v[l]]--;
            l++;
        }
        while (l < r && v[r] != ans)
        {
            nums[v[r]]--;
            r--;
        }
        cnt += min(nums[ans], 2);
        nums[ans] -= 2;
        l++, r--;
        for (int i = 1; i <= 26; i++)res = max(res, cnt + nums[i]);
    }
    return res;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    int t;
    cin >> t;
    while (t--)
    {
        cin >> n;
        vector<int>v(n),nums(27);
        for (int i = 0; i < n; i++)
        {
            cin >> v[i];
            nums[v[i]]++;
        }
        int res = 0;
        for (int i = 1; i < 27; i++)
        {
            if (nums[i] != 0)
                res = max(res, change(v, i,nums));
        }
        cout << res << endl;
    }
    return 0;
}

第七题:简单的异或问题

有一组整数 {0,1,2,…,2m−1}, 请从中选出k个数,使得这k个数的异或和为n, 请输出最大的满足条件的k。

输入格式

两个数n和m, 其中 0≤n≤2m−1,1≤m≤60。

输出格式

输出最大的满足条件的k。

样例输入

2 2

样例输出

3

样例解释

对于样例,我们可以选择{0,1,3}。

考异或这种逻辑运算的题很多都是单纯考逻辑。这道题就是单纯的逻辑问题,在0~2^m-1里通过xor运算获得一个数a,就只用(2^m-1)和(2^m-1-a)进行xor运算即可。由于这里要求的是最多能选多少数,那么可以把所有的数都选上,真正有用的只有(2^m-1)和(2^m-1-a),至于其他的数经过运算后都会变成0。所以k能取到的最大值就是2^m-1。

代码:

#include<bits/stdc++.h>
using namespace std;
​
#define endl '\n';
typedef long long ll;
typedef pair<ll, ll> PII;
​
int main()
{
    
    ll n, m;
    cin >> n >> m;
    ll res = 1;
    res <<= m;
    if (m == 1 && n == 0)
    {
        cout << 1 << endl;
    }
    else if (m == 1&&n==1)
    {
        cout << 2 << endl;
    }
    else cout << (1LL)*(res - min(n,1LL)) << endl;
    return 0;
}

第八题:字串的循环挪动

​ 给出一个字符串s,你需要执行m个任务。每个任务给出两个下标li,ri和一个整数ki(字符串的下标从1开始),表示你需要循环挪动s的子串 s[li...ri] ki次。请从前到后依次执行给出的每个任务。​ 字符串的循环挪动操作:将最后一个字符移到第一个字符的位置,并且将其他所有符号向右移一个位置。比如:如果字符串s是 abacaba,一个任务为l1=3,r1=6,k1=1,那么答案为 abbacaa。接下来一个任务为l2=1,r2=4,k2=2,那么我们会得到 baabcaa。

输入格式

​ 第一行一个字符串s,该字符串只包含小写英文字符。​ 第二行一个整数m,表示任务个数。​ 接下来m行每行有三个整数li,ri和ki。

输出格

​ 输出执行了m个任务后的最终的字符串s。

样例输入

abacaba 2 3 6 1 1 4 2

样例输出

baabcaa

数据规模

​ 对于所有数据保证,1≤|s|≤10000(|s|表示字符串s的长度),1≤m≤300,1≤li≤ri≤|s|,1≤

ki≤1000000。

可以把字符串分成三部分:s的头部s1,需要挪动的字串头部s2,需要挪动的字串尾部s3,s的尾部s4。

初始状态下s是s1+s2+s3+s4,挪动后变成了s1+s3+s2+s4。

代码:

#include<bits/stdc++.h>
using namespace std;

#define endl '\n';
typedef long long ll;
typedef pair<ll, ll>PII;
const int MOD = 1e9 + 7, N = 1e6 + 10;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    string str;
    cin >> str;
    int m,n=str.size();
    cin >> m;
    while (m--)
    {
        int l, r, k;
        cin >> l >> r >> k;
        int mod = (r - l + 1);
        string s1 = str.substr(0, l-1);
        string s2 = str.substr(l - 1, r - l - (k % mod) + 1);
        string s3 = str.substr(r-k%mod, k%mod);
        string s4 = str.substr(r, n - r + 1);
        if(l!=r)
            str = s1 + s3 + s2 + s4;
        
    }
    cout << str << endl;
    return 0;
}

第九题:弗拉德和糖果||

不久前,弗拉德过生日,他收到了一包糖果。有n种糖果,第i种糖果有ai个(1≤i≤n)。弗决定每次只吃一个糖果。为了从吃东西中获得最大的乐趣,弗拉德不想连续吃两个相同类型的糖果。帮助他弄清楚他是否可以在不连续吃两个相同的糖果的情况下吃掉所有的糖果。简而言之,给定n个正整数ai,ai表示有ai个i,找到是否存在一种序列,使得所有的数都用上,且不存在i连续的情况

输入格式:

第一行,包含一个整数n。 第二行,包含n个正整数。

输出格式:

输出一行,如果存在,输出YES,否则输出NO

样例输入

2 1 1

样例输出

YES

说明

只有两种情况:1.1 22.2 1无论先吃哪种糖果,都能吃完且不连续吃相同类型的糖果

数据限制

对于100%的数据,保证 1≤n≤5000000,1≤ai≤230

跟上题差不多,也是考思维逻辑的。 当最大值大于其它值的和+1时输出NO,当最大值等于其它值的和+1时输出YES,当最大值小于其它值的和+1时输出YES。

代码:

#include<bits/stdc++.h>
using namespace std;

#define endl '\n';
typedef long long ll;
typedef pair<ll, ll>PII;
const int MOD = 1e9 + 7, N = 1e6 + 10;

inline int read() {
    int x = 0; char ch = getchar();
    while (ch < '0' || ch > '9') ch = getchar();
    while (ch >= '0' && ch <= '9') x = (x << 3) + (x << 1) + ch - '0', ch = getchar();
    return x;
}

int main()
{
    int n;
    ll sum = 0, mx = 0,num;
    n = read();
    for (int i = 0; i < n; i++)
    {
        num = read();
        if (mx < num)
        {
            sum += mx;
            mx = num;
        }
        else sum += num;
    }
    if ((n == 1 && mx == 1) || mx <= sum + 1)
    {
        puts("YES");
    }
    else
    {
        puts("NO");
    }
    return 0;
}

第十题:上帝的集合

题目描述

现在上帝有一个空集合,现在他命令你为他执行下列三种操作n次,他每次会给你一个操作类型op。

操作1:向集合中插入一个整数x;操作2:将集合中所有的数加上x;操作3:输出集合中最小的数,并从集合中将他删除,如果存在多个最小的整数,任意选择一个即可;

输入描述

第一行输入一个整数n;接下来的n行,每行的输入如下所示。第一个数代表op,如果op=1

或op=2,第二个数代表xi:1xi2xi3

输出描述

如果op=3,请输出集合中的最小值。

样例输入

7 1 2 1 1 3 1 3 2 5 3 3

样例输出

1 7 8

数据范围

2≤n≤106, 1≤xi≤1012

 用优先队列处理。

代码:

#include<bits/stdc++.h>
using namespace std;

#define endl '\n';
typedef long long ll;
typedef pair<ll, ll>PII;
const int N = 1e6 + 10;


int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    ll t,add=0;
    priority_queue<ll,vector<ll>,greater<ll>>que;
    cin >> t;
    while (t--)
    {
        int st;
        cin >> st;
        if (st == 1)
        {
            ll x;
            cin >> x;
            que.push(x-add);
        }
        else if (st == 2)
        {
            ll x;
            cin >> x;
            add += x;
        }
        else
        {
            cout << que.top()+add << endl;
            que.pop();
        }
    }
    
    return 0;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 第五章《微信小程序api应用案例》码是一些具有实用性的应用实例,主要涵盖了以下几个方面: 1.音频播放:该实例通过调用微信小程序的音频播放接口,实现了在线音频播放功能。用户可以使用小程序播放在线音频,支持背景音乐播放和前后台切换。 2.天气查询:通过使用微信小程序的网络请求接口以及天气查询api,该实例实现了实时查询用户所在位置的天气预报功能。用户在小程序中输入地理位置信息,即可查询所在地的实时天气信息。 3.新闻资讯:该实例通过使用微信小程序的网络请求接口和聚合数据api,实现了获取实时新闻资讯的功能。用户可以在小程序中浏览各种新闻资讯,并可以通过关键词搜索感兴趣的内容。 4.扫码识别:该实例通过使用微信小程序的扫码接口和云智AI图像识别api,实现了扫描二维码并识别图片内容的功能。用户只需在小程序中对准二维码进行扫描,即可得到二维码所包含的图片内容。 这些应用实例不仅拥有较高的实用性,而且还同时展示了微信小程序在音频、网络请求、图像识别等方面强大的技术支持和便捷的开发体验。通过学习这些实例码,开发者不仅能够更好地理解微信小程序平台的特点和开发规范,还可以借鉴实例中的开发思路和技术手段,以更高效、更专业的方式进行小程序开发。 ### 回答2: 微信小程序API应用案例第五码是一份非常有用的程序代码库,其中收录了许多小程序API的应用案例,可以让开发者快速了解和学习这些API的使用方法和应用技巧。 码库中包括应用案例的代码、效果预览图和说明文档,开发者可以根据需要自行调用不同的API来实现自己的小程序应用。 这份码库涵盖了小程序的各个功能模块,比如网络请求、文件操作、界面设计、音频视频处理、地理位置定位等等,其中的每个应用案例都非常实用,可以帮助开发者快速掌握和应用这些API的使用方法。 对于小程序开发者来说,这份码库是一份非常重要的参考资料,可以让他们更快地掌握小程序的开发技能,提升自己的工作能力和竞争力。同时,这份码库也给新手开发者提供了更加丰富和有趣的学习资,帮助他们更快地进入小程序开发的世界。 总之,微信小程序API应用案例第五码是一份非常有价值的程序代码库,可以为小程序开发者提供更多有用的工具和资,帮助他们更好地完成自己的开发工作。 ### 回答3: 微信小程序api应用案例第五码提供了一个关于微信小程序开发中使用API的实际应用案例。案例以实现一个简单的天气预报小程序为例,通过调用微信小程序提供的API,获取用户的地理位置信息和天气信息,并将其展示在小程序中。 该码包含了小程序的基本文件结构和代码逻辑,其中包括了小程序的配置文件、页面结构文件、JS代码和CSS文件。通过这些文件的配合,实现了定位获取、打印等基础功能。在实现天气预报功能方面,该码调用了和风天气提供的API,并通过解析返回的JSON数据,获取当前天气状况和未来一的天气预报,以及相关的空气质量等信息。同时,也提供了通过搜索城市名称获取天气预报的功能。 使用该码,可以帮助开发者了解微信小程序API的使用方法和实际应用场景,以及如何通过API获取和处理数据,并在小程序中进行展示和操作。通过对该码的学习和实践,可以为今后的小程序开发提供借鉴和参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无用夜宵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值