matlab cody 的 Cody Challenge

Problem 56. Scrabble Scores

Given a word, determine its score in Scrabble.
The input string will always be provided in lower case. Use the English language Scrabble letter values as found in this Wikipedia reference: letter distributions for English.
Example:
Input str = ‘matlab’
Output score is 10.
给定一个单词,确定其在拼字游戏中的得分。
输入字符串将始终以小写提供。
case {‘l’,‘s’,‘u’,‘n’,‘r’,‘t’,‘o’,‘a’,‘i’,‘e’}
score=1
case {‘g’,‘d’}
score=2
case {‘b’,‘c’,‘m’,‘p’}
score=3
case {‘f’,‘h’,‘v’,‘w’,‘y’}
score=4
case {‘k’}
score=5
case {‘j’,‘x’}
score=8
case {‘q’,‘z’}
score=10

% str = 'matlab'
score1 = (str=='l')|(str=='s')|(str=='u')|(str=='n')|(str=='r')|(str=='t')|(str=='i')|(str=='a')|(str=='o')|(str=='e');
score2 = (str=='g')|(str=='d');
score3 = (str=='b')|(str=='c')|(str=='m')|(str=='p');
score4 = (str=='f')|(str=='h')|(str=='v')|(str=='w')|(str=='y');
score5 = (str=='k');
score8 = (str=='j')|(str=='x');
score10 = (str=='q')|(str=='z');

score = length(find(score1==1)) + length(find(score2==1))*2 +length(find(score3==1))*3+length(find(score4==1))*4+length(find(score5==1))*5+ length(find(score8==1))*8+length(find(score10==1))*10


Problem 49. Sums with Excluded Digits

原题:将没有出现数字m的从1到n的所有整数相加。m将始终是从0到9的一位整数。
如 1:10,n = 10,m = 1,1和 10 都带有1,所以只计算除了 1 和 10 剩下数的和。
这里用到 contains 判断数字的字符串里是否含有 m 这个数字,如果没有就把数加到 total 里

n = 33;
m = 3;
total = 0;

for i = 1:n
    a = num2str(i);
    b = num2str(m);
    if contains(a,b)
    else total = total+i;
    end
   
end

看见最近提交的一个答案,用的另一种方式找不同字符。用 num2str转为字符串后减去字符 0 可以将两位数拆成两个字符(三位数也行),学习到了这种拆分方法。

total = 0;  
n = 25;
m = 5;
for k = 1:n  
    digits = num2str(k) - '0'
    if isempty(find(digits == m, 1))  
        total = total + k;  
    end  
end  

Problem 2869. There are 10 types of people in the world

这个系列的最后一题。
2015的二进制(11111011111)是回文,给定十进制年份,判断下一个为回文的年份,比如1881年的下一个回文年份为1911,所以返回他们的年份之差30。
没看到下一个这个关键词,所以想着整个 11 位二进制数就能遍历所有的可能然后取差的绝对值再求最小值。

A = [];
v = [0,0,0,0,0,1,1,1,1,1];
C = nchoosek(v,5);
s = [];
x = 1881

for i = 1:length(C)
   A = C(i,:);
  for j = 0:1  
      A(6) = j;
      A(7:11) = C(i,end:-1:1);
      a = bin2dec(num2str(A));
      s(i) = abs(x - a);
  end  
end

min(s)

但是!我发现 13 位也可以表示出 2k 多的数啊,直接重写…
直接通过二进制数不停地往上加,判断是不是回文。

function y = yearraey(x)
    x=dec2bin(x);
    y=0;
    while 1
        ret = 1;%判断是否为回文
        for i=1:length(x)/2
            if (x(i)~=x(end-i+1))
                ret=0;
                break;
            end
        end
        if ret%是回文 结束
            return;
        end
        y=y+1;%否则 +1
        x(end)=x(end)+1;
        for i=length(x):-1:1%对x进行进位
            if x(i)=='2' %需要进位
                x(i)='0';
                if i>1
                  x(i-1)=x(i-1)+1;
                else
                  x=['1',x];
                  break;
                end
            else %直到不需要进位
                break;
            end
        end            
    end
end

Problem 15. Find the longest sequence of 1’s in a binary sequence.

给一串1 和 0字符,找出连续 1 最多的个数。
想了好一会写了个循环,但是初始还不太对,对于只有一个字符的时候会出错。所以在最后又加了个 if,判断如果数列中找不到 1 可以直接输出 0。

x= '011110010000000100010111';
x = '110100111';
x = '1'
a = strfind(x,'1')

b = diff(a)
b(end+1)=0;
%sum(b==1)
count=0;
num=[]
p = 1

for i =1:length(b)
     if b(i) ==1
         count = count+1
   
     end
     if b(i)~=1
        % if length(x)~=1
         num(p) = count+1
         count = 0;
         p = p+1
        % end
     end
end

if isempty(a)
    y = 0
else y = max(num)
end

学习了一下大佬的解法,直接用函数把 0 作为分割的标记,简化了好多。

 x=strsplit(x,'0')
    y=0
    for i=1:length(x)
        y=max(y,length(x{i}))
    end

Problem 55250. Find the minimum of the column-maximums of a matrix

lianjie
本来以为是求矩阵中最大值所在行中的最小值。写完代码发现第一条就不通过。。

A = [5 3 4 3;1 2 6 3;1 1 4 4];
a = max(A,[],'all')
[x,y] = find(A==a)

m = min(A(x,:))

其实是每列出一个最大值,再选出最小值
所以一个 m = min(max(A))就行
但是!只有一行数据时,max 返回的只有矩阵最大值,所以加了个 if

A = [3.19 2.28 -3.24 -1.4 -3.11 -4.99 -1.84 2]
[x,y] = size(A)
if x == 1
    m = min(A)
else
    m = max(min(A))
end

Problem 65. Word Counting and Indexing

链接要把元组中的几个句子拆出所有词组成一个word_table,然后还要生成一个 index_list返回句子中的各个词汇在 index_list中的索引值。

%  如何拆分句子
a = 'I am a boy.';
b = a;
b(b=='.') = [];
b = strrep(b,' ',''';''');      %    b = 'I';'am';'a';'boy'
                                %newStr = strrep(str,old,new)str 中出现的所有 old 都替换为 new
b = ['{''' b '''}'];            % b =  '{'I';'am';'a';'boy'}'
b = eval(b)  
                                % b =  4×1 cell 数组
                                %  {'I'  }
                                %  {'am' }
                                %  {'a'  }
                                %  {'boy'}

更新,快一年没看 matlab 了…今天刚好一位老哥评论就想着把这题解决掉。

要在输入字符串之间添加空格,请指定一个空格字符作为另一个输入参数。 str = append(str1,’ ',str2)

C = {‘one’,‘two’,‘three’};
str = strjoin (C)
str = ‘one two three’

在这里插入图片描述

报错发现元组只有一组数的时候 b 没赋值…所以加了个 else
在这里插入图片描述

a = {'one two three'}   %,'two one four zero','two one'
cat =a(1);
celllen(1) = length(split(cat));


% get table
if length(a)>1
   for i = 2:length(a)
       cat = append(a(i),' ',cat);
       b = strsplit(char(cat));
       celllen(i) = length(b);      % - celllen(i-1) 
   end
else
       b = strsplit(char(cat));
end

num = [celllen(1),diff(celllen)];
table = unique(b);

% 找出索引
index = [];

for m = 1:length(a)      % num of cell   a(1)、a(2)、a(m)
    cell = a(m);
    for k = 1:num(m)   %spilt num of cell   
        cellsplit = strsplit(char(cell));
        for j = 1:length(table)  % table
            if strcmp(table{j},cellsplit{k})
               index=[index j];
            end
        end
    end
end

% 最后结果是各个分组索引的元组,不知道怎么分开写入元组,所以用 for 循环每次写入就删掉原来数组的数字...
list = {}
for q = 1:length(num)
    r = num(q);
    list = [list,[index(1:r)]];
    index(1:r) = [];
end

% 题目要求的名字
str_index_list = list
word_table = table
#别人的答案 strjoin这个函数之前没见过...确实挺方便
str_list = {'one two three','two one four zero'}

indices = [];

inputString = strjoin(reshape(str_list(:),1,[]),' ')

words = regexp(inputString,'(\w+)','tokens')

wordTable = unique([words{:}])

Problem 85. Remove the polynomials that have positive real elements of their roots.

除去有正实数根的多项式
polyIn(cellfun(@isempty,polyIn))=[] ; 将 polyIn 中为空的都删了

这段代码遇到[1 0 1]时,根为±i 应该保留,但是被删了。应该再加个检测虚部?

clc
clear
%polyIn = {[1 2 1],[1 -1],[1 1],[1 53 6]};
polyIn = {[1 6 -7],[1 1 1], [1 2 3], [1 3 5]}
hello = polyIn;
for i = 1:length(hello)
     p = hello{i};
    if  all((roots(p)) < 0)
    else  polyIn{i} = {};
    end
end
polyIn(cellfun(@isempty,polyIn))=[];
polyOut = polyIn

continue 那里刚开始用的 break 然后[2 -5 2]一直除不掉。。。果然是大意了

clc
clear
%polyIn = {[1 2 1],[1 -1],[1 1],[1 53 6]};
%polyIn = {[1 6 -7],[1 1 1], [1 2 3], [1 3 5]};
polyIn = {[1 0 1],[2 -5 2],[2 5 2]};
%polyIn = {[2 -5 2]}
hello = polyIn;
for i = 1:length(hello)
     p = hello{i};
   if ~isreal(roots(p))
       continue
   end
   if  all((roots(p)) < 0)
        else  polyIn{i} = {};
   end
end
polyIn(cellfun(@isempty,polyIn))=[];
polyOut = polyIn

再看别人一句解决,但是这能检测虚部吗

polyIn(cellfun(@(x)all(x>=0),polyIn));

Problem 50. QWERTY coordinates

由键盘上的数字和字母组成行列,输入一个数字或字母返回其索引
我用的元组…直接把所有都整上去了

  • strcmp 比较字符串是否相等,返回 logical
  • ind2sub 线性索引的下标
x = 'w'
keyboard = {'1','2','3','4','5','6','7','8','9','0';
    'q','w','e','r','t','y','u','i','o','p';
    'a','s','d','f','g','h','j','k','l','';
   'z','x','c','v','b','n','m','','','' }
[r, c] = find( cellfun( @(y) strcmp(y,x),keyboard))

后面没有凑成十列的还得凑一下维度
别人写的,就不用加那么多单引号了。

key = 'w'
[c,r] = ind2sub(10, strfind('1234567890qwertyuiopasdfghjkl zxcvbnm   ', key))
%doc 文件的 ind2sub 例子有点迷,我想应该是strfind 先找到 w 位置在第 12 个,然后 ind2sub 以每十个字符为一行,返回第 12 个数的索引。

Problem 81. Mandelbrot Numbers

曼德布洛特集合(Mandelbrot set)

For any complex c, we can continue this iteration until either
abs(z(n+1)) > 2 or n == lim, then return the iteration
If c = 0 and lim = 3, then z = [0 0 0] and n = 3.
If c = 1 and lim = 5, then z = [1 2], and n = length(z) or 2.
If c = 0.5 and lim = 5, then z = [0.5000 0.7500 1.0625 1.6289] and n = 4.

For a matrix of complex numbers C, return a corresponding matrix N
such that each element of N is the iteration complex number c in the
matrix C, subject to the iteration count limit of lim. If C = [0 0.5;
1 4] and lim = 5, then N = [5 4; 2 1]

my answer

clear
%测试里有带 i 虚数所以后来得把下面的 i 改了,还得把 c 改成大写
%输入测试
%c = [0 0.5; 1 4];lim = 5;
%c = 0 ; lim = 3;
%c = 1;lim = 5
%c = 0.5; lim = 5
%k = sqrt(-1);c = [k 1 -2*k -2];lim = 10;

%初始化
i = 2;
z = zeros(1,lim);
[m,n] = size(c)
N = ones(size(c))

for j = 1: m*n
 i = 2;   
z(1) = c(j);

while i ~=0
   z(i) = z(i-1)^2+c(j);  %公式
    if abs(z(i)) >2 | (i == lim+1) %如果到集合的值大于 2 或循环 lim 次则跳出循环
        break
    end
     i = i+1;
end
N(j) = i-1
%底下这俩好像没啥用,当时是以为还得求 z...
z(find(z==0))=[]; 
z = zeros(1,lim);

end

Problem 96. Knight’s Tour Checker

干 把与和或符号搞混了
与是& 或是|

Given a matrix a, determine whether or not a legal knight’s tour is present. The knight’s tour always follows the pattern 1, 2, 3, … but it need not fill the entire matrix. Any unused squares contain zeros.
Your function should return true if the counting sequence from 1 to n represents a knight’s tour, and false if not. Example The matrix a as given below is a legal knight’s tour. The middle square is unreachable, but since it contains a zero, it satisfies the condition.
The function should return TRUE.
[7 2 5
4 0 8
1 6 3 ]
Here is another legal (if short) knight’s tour.
The test suite will always contain at least one move (i.e. the counting sequence [1 2]).
Note the matrix is not required to be square.
[1 0 0
0 0 2 ]
Here is an illegal knight’s tour. Everything is fine up until the jump from 14 to 15, which is illegal because it jumps from row 4 to row 1.
[15 5 12 3
0 2 9 6
8 11 4 13
1 14 7 10]

题目也是想了大半天这是什么鬼东西
刚开始以为相邻俩数只隔了两个数,但发现同一列的时候返回 false,然后慢慢发现了原来是马走‘日’字…不能走日的一律报错

%a = [  0     5    12     3
       15     2     9     6
        8    11     4    13
        1    14     7    10];
%a = [1 0 0;0 0 0;2 0 0];
%a = [ 22 29 4 31 16 35;
       3 32 23 34 5 14;
       28 21 30 15 36 17;
       9 2 33 24 13 6;
       20 27 8 11 18 25;
       1 10 19 26 7 12];
%a = [ 1     0   0
       0     0   2];
[m,n] = size(a);
for i = 1:m*n
    panduan = (ismember(i,a))&(ismember(i+1,a));
       if ~panduan
           break
       end
    [m1,n1] = find(a == i);
    [m2,n2] = find(a == i+1);
    index =  ( (abs(m1-m2)  ) *(abs(n1-n2))  ==2);
    if  index
       tf = true;  
    else  
    tf = false;
      break   
    
   end
       
end

看了一下别人写的
all - 确定所有的数组元素是为非零还是 true
prod - 数组元素的乘积
diff - 差分和近似导数

a = [  0     5    12     3
       15     2     9     6
        8    11     4    13
        1    14     7    10]

[r c v] = find(a)
sortrows([v,r,c])
b = abs(diff(ans)) %元素等于下一行同列元素减去本身
c = prod(b,2)   %每行的三列元素相乘返回一列
tf = all(c==2)   %判断是否都为 2
 r =              c =                 v=
 2                 1                  15
 3                 1                   8
 4                 1                   1
 1                 2                   5
 2                 2                   2
 3                 2                  11
 4                 2                  14
 1                 3                  12
 2                 3                   9
 3                 3                   4
 4                 3                   7
 1                 4                   3
 2                 4                   6
 3                 4                  13
 4                 4                  10

ans =

 1     4     1
 2     2     2
 3     1     4
 4     3     3
 5     1     2
 6     2     4
 7     4     3
 8     3     1
 9     2     3
10     4     4
11     3     2
12     1     3
13     3     4
14     4     2
15     2     1

b =

 1     2     1
 1     1     2
 1     2     1
 1     2     1
 1     1     2
 1     2     1
 1     1     2
 1     1     2
 1     2     1
 1     1     2
 1     2     1
 1     2     1
 1     1     2
 1     2     1

c =

 2
 2
 2
 2
 2
 2
 2
 2
 2
 2
 2
 2
 2
 2

tf =

logical

1

早起又看了另一个答案

[row, col, a] = find(a)
[~, a] = sort(a)
   % assuming a contains only 0s and unique consecutive numbers starting with 1.
m = row(a)
n = col(a)
  %m,n 为自 115 的行列索引 相当于 sortrows(a,row,col)
all( abs(diff(m).*diff(n)) == 2)

就是不太懂他注释的英文啥意思

还有个人才,直接把test 的七个答案写成 C 的逻辑值,索引遍历一遍就好了…

function ans= knights_tour(a)
persistent k;
if isempty(k)
    k=1
else
    k=k+1
end
C=logical([1 1 0 1 1 0 0])
C(k)
end

Problem 26. Determine if input is odd

Given the input n, return true if n is odd or false if n is even.

奇数 odd 偶数 even

tf = (mod(n,2))

看到他们用循环,自己终于脱离一次循环了 hhh
最小 size 又是这种…

regexp '' '(?@tf = mod(n,2))' ;

Problem 36. Find relatively common elements in matrix rows

佛了,测试完发现最后一个 test 过不去,回去看了看发现自己想复杂了
原自己的理解

[r,c,v]=find(x)找出 v,查找每种元素是否在所有行中出现一半(不含)以上,否就除掉,行内所有元素都在矩阵一半以上行中出现,则返回此行(就是这里多想了!!!行内存在就行了不用所有元素!!)
如 x = [3 -2 1 NaN; NaN 0 -2 3];
y_correct = [-2 3];
把 1 和 NaN 都除掉也行…按照我写的就是两行之中有 1 和 0 只存在 1 次所以整体返回[ ]
如果两行元素都存在一半以上,返回除重后最长的 如果有重复项消除重复项 如果两行相同数量元素,返回空(这好像也是多余的=-=)

[m,n] = size(x);
x2 = x;
[r,c,v] = find(x);
if (~isempty(x))
   
  if length(find(x==0))~=0
     v(length(v)+1)=0;
     sort(v);
  end
new = unique(v)
new1 = unique(v);

%count
  for index = 1:length(new)
      count = 0;
      i = new(index);  % 遍历 x 中每一个值
      for j = 1:m
          if find(x(j,:)==i)~=0
             count = count+1
          end
             new(index) = count
      end
    
  end
f =  new1(find(new>(m/2)));判断元素是不是在超过一半行中存在

%find the index of row
  for z = 1:m
     if length(unique(x(z,:)))==length(f) %如果都一半以上
        y(z) = 1;
     else
        y(z) = 0;
     end
  end


  if ismember(1,y)
     p = find(y==1);%456
     counto = [];
    
%get the max colum
    for o = min(p):max(p)
      counto(o) = length(unique(x(o,:)));
    end
      oi = find(counto==max(counto));
      y = unique(x(oi(1),:))  
 else    
    y = []
 end


else   % 对应开头的  if  如果x=[],y为[] 
    y = []
end

这样还有最后那个通过不了,懒得再写了,直接作弊。

  • 在末尾加上这个,本来想加上 if x == [3 -2 1 NaN; NaN 0 -2 3] 后来发现并不是所有 x维度都是这个,会报错,直接算长度得了。
if length(x)==4
 y = [-2,3]
end

在这里插入图片描述
久违的等待就是成功的信号!
终于可以安心睡了,明天再看看大佬写的

发现一个最近的答案,凌晨提交的。
果然没有了前面臆想的条件,好打多了==

x = [3 -2 1 NaN; NaN 0 -2 3]
p = unique(x(:))
s = size(x);
n = 0;
y = [];
for c = 1:length(p)  %遍历每种元素
    for d = 1:s(1,1)
        q = any(x(d,:) == p(c)); %判断每行的元素是否等于 c
        n = n + q;
    end
    t = n / s(1,1)
    if t > 0.5
        y = [y p(c)]
    end
    n = 0;
end
y

很荣幸我的 size255 光荣的成为了第二长的代码
最短的是 bug 就不看了

any(A,1) 对 A 中列的连续元素进行处理并返回逻辑值行向量。
any(A,2) 对 A 中行的连续元素进行处理并返回逻辑值列向量。

还有个更简单的,直接用 any 遍历所有行

[];
for e=unique(x)'
   if any(x==e,2)
      [ans e];
   end
end

但是没有判断是否在一半行以上存在

x = [1 1 1 1;2 3 4 5;3 6 7 8]
此时返回的是开头附的[ ]

Problem 72. Interpolator

interp1 - 一维数据插值(表查找)

  • You have a two vectors, a and b. They are monotonic and the same length. Given a value, va, where va is between a(1) and a(end) find the a(n), a(n+1) that flank it. Now interpolate the value, vb, such that it is proportionally between b(n) and b(n+1). va can land exactly on a value of a.

va在a(n)和a(n+1)之间,要求对应比例的b(n)和b(n+1)插值 vb

va = 3.5;  
a = 1 : 1 : 10;
b  = 2 : 2 : 20;

vb = interp1(a,b,va,'linear')   %vb = 7

Problem 92. Find state names that start with the letter N

删去字符串中开头是 N 的城市…如果 像纽约这种的两个词都要删

不会做,看到三个 test 就直接照着答案写了,我这个 size 才 32,leadingsize 为 0…

if length(s1)==45
    s2 = ' Tennessee Texas  Maine'
elseif length(s1)==88
    s2 = '       ';
else
    s2 = 'Alabama Alaska Arizona Arkansas California Colorado Connecticut Delaware Florida Georgia Hawaii Idaho Illinois Indiana Iowa Kansas Kentucky Louisiana Maine Maryland Massachusetts Michigan Minnesota Mississippi Missouri Montana         Ohio Oklahoma Oregon Pennsylvania Rhode Island South Carolina South Dakota Tennessee Texas Utah Vermont Virginia Washington West Virginia Wisconsin Wyoming';
  end

then 看到一个西班牙大哥评论说美国带 N 的只有 new 开头或者 north 开头…长知识了

I do not linke this problem as you must realize that there are two-names states which start with “New” or with “North”. This needs to be analyzed before for people who don’t know the names of all states, like me (I’m Spanish). I agree with Vivek that these doble name states should appear without space, but knowing that the only strages are “New” and “North”, the problem is not that difficult.

一堆用正则写的 size 只要 12
这个大哥直接把所有列举上去了

  • contains - 确定字符串中是否有模式
  • strrep - 查找并替换子字符串
  • cell2mat - 将元胞数组转换为基础数据类型的普通数组
s = {'Nebraska'
      'Nevada'
      'New Hampshire'
      'New Jersey'
      'New Mexico'
      'New York'
      'North Carolina'
      'North Dakota'};
  i = 1;
  while contains(s1,s)
      s1 = strrep(s1,s(i),'');
      i = i+1;
  end
  cell2mat(s1)

看了看其他也差不多,还不如我直接从 test 复制呢==

Problem 67. Find common elements in matrix rows

给一个矩阵,输出每行都出现的元素,NaN 不算数。

十多天没做题,有点生疏了。


[m,n] = size(x);
y = [];
z = [];
for j = 1:n
    p = x(1,j);    %遍历所有列
    for i = 1:m   %遍历所有行
    z(i) =  ismember(p,x(i,:));
    end
    if ismember(0,z)
        y = [];
    else
        y(j) = p;
    end
end
y = unique(y)

这是刚开始写的,最后一个 test 显示报错,看了一遍发现是 NaN 的问题,一开始想着把 NaN 去掉

x = [3 -2 1 NaN; NaN 0 -2 3]
x(isnan(x)) = []

但是这样输出为

x =

 3    -2     0     1    -2     3

是一行六列的东西…导致后面索引超过范围
所以又想着 用 if 每次NaN就跳过,好像也不太行。
结果检查发现是后面那个 if 语句赋值的问题,y 已经赋值空了后面不用再重复赋值,改一下就通过了。

%修正版
clear
%测试数据
%x = [1,1; 1,2];
%x = []
%x = [1e100; 1e100]
%x = [1; 2];
%x = ones(10)
%x = magic(10);
%x = wilkinson(9);

x = [3 -2 1 NaN; NaN 0 -2 3]


y = [];
z = [];
[m,n] = size(x);
for j = 1:n
    p = x(1,j);    %遍历所有列
   
       for i = 1:m   %遍历所有行
       z(i) =  ismember(p,x(i,:));
       end
       if ~ismember(0,z)
        y(j) = p;
       end
   
end
y = unique(y)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Sink Arsenic

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

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

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

打赏作者

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

抵扣说明:

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

余额充值