精华内容
下载资源
问答
  • #include <stdio.h> #include <...//比较一组字符串数组的大小,并且从中找出最大值和次大值 void big(char **p, int N, char **p1, char **p2) { *p1 = strcmp(p[0], p[1]) > 0 ? p[0] : p...
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    //比较一组字符串数组的大小,并且从中找出最大值和次大值
    void big(char **p, int N, char **p1, char **p2) {
    	*p1 = strcmp(p[0], p[1]) > 0 ? p[0] : p[1];
    	*p2 = strcmp(p[0], p[1]) < 0 ? p[0] : p[1];
    	int i;
    	for (i = 2; i < N; i++) {
    		if (strcmp(*p1, p[i]) < 0) {
    			*p1 = p[i];
    			*p2 = *p1;
    		}
    		else if (strcmp(*p2, p[i]) < 0) {
    			*p2 = p[i];
    		}
    	}
    
    }
    int main() {
    	char *b[5] = { "zhousi","chang'e","erlangshen","weinasi","liubei" };//指针数组
    	char *big1;
    	char *big2;
    	big(b, 5, &big1, &big2);
    	puts(big1);//zhousi
    	puts(big2);//weinasi
    	return 0;
    }

     

    展开全文
  • import java.util.Arrays; import java.util.Collections; import java.util.Comparator;...//要求:获取字符串数组中最长的元素 //在这里要利用Collections的另一个max方法 //public static T max
    package cn.com;
    import java.util.Arrays;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;
    //要求:获取字符串数组中最长的元素
    //在这里要利用Collections的另一个max方法
    //public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp)*/
    //步骤:
    //1 Arrays.asList()将数组转换为List即将数组转换为了一种集合
    //2 利用Collections.max()方法,找出最大值
    //3 重点是让容器具有可比性,即实现了Comparator接口。相当于是把这个List集合里的东西扔进了容器里
    public class Test2 {
    	public static void main(String[] args) {
    		String[] strArr = new String[] { "cd", "ab", "ddfa", "sd", "zd" };
    		List<String> list = Arrays.asList(strArr);
    		String maxStr = Collections.max(list, new strSort());
    		System.out.println("maxStr=" + maxStr);
    	}
    }
    
    class strSort implements Comparator<String> {
    	@Override
    	public int compare(String str1, String str2) {
    		if (str1.length() < str2.length()) {
    			return -1;
    		}
    		if (str1.length() == str2.length()) {
    			return str1.compareTo(str2);
    		} else {
    			return 1;
    		}
    	}
    }
    

    展开全文
  • 目标参数若是字符串,可通过split()方法转换为数组 var str="qwertyuiopasdfghjklzxcvbnmqazwsxaswazaaa"; var arr=str.split(""); // 转换为数组 1、 function moreLetter(arr) { if (!arr) return false; ...

    目标参数若是字符串,可通过split()方法转换为数组

    var str="qwertyuiopasdfghjklzxcvbnmqazwsxaswazaaa";
    var arr=str.split("");  // 转换为数组

    1、

    function moreLetter(arr) {
      if (!arr) return false;
      if (arr.length === 1) return 1;
      let result = {}
      // 先循环数组,把元素作为key值,元素出现的次数为value值,塞进result对象中
      for(let i = 0; i < arr.length;i++) {
        if (!result[arr[i]]) {
          result[arr[i]] = 1
        } else {
          result[arr[i]]++
        }
      }
    
      let keys = Object.keys(result)
      let maxNum = 0,
          maxVal = '';
      // 循环对象,取出value值最大的对应的key值
      for(let i = 0; i < keys.length;i++) {
        if (result[keys[i]] > maxNum) {
          maxNum = result[keys[i]];
          maxVal = keys[i]
        }
      }
      return maxVal+','+maxNum;
    }
    
    console.log(moreLetter(arr)); // a,7

     

    2、把第一个方法中循环数组塞进对象的操作用三元表达式判断,合并为一个for循环

    function moreValue(arr) {
      if (!arr) return false;
      if (arr.length === 1) return 1; 
      let res = {}
      let maxNum = 0;
      let maxValue = null;
      for(let i = 0; i < arr.length;i++) {
        let val = arr[i]
        res[val] === undefined ? res[val] = 1 : res[val]++;
        if(res[val] > maxNum) {
          maxNum = res[val];
          maxValue = val
        }
      }
      return maxValue +','+ maxNum;
    }
    
    console.log(moreValue(arr)); // a,7

    =======后补=======

    3、使用for in 方法获取对象res中的最大值

    function moreLetter(str) {
      let arr = str.split(""); // 转换为数组
      if (!arr) return false;
      if (arr.length === 1) return 1;
      let res = {};
      arr.forEach((item, index) => {
        if (!res[item]) {
          res[item] = 1;
        } else {
          res[item]++;
        }
      });
      let maxNum = 0,
        maxVal = "";
      for (let i in res) {
        if (res[i] > maxNum) {
          maxNum = res[i];
          maxVal = i;
        }
      }
      return maxVal+','+ maxNum;
    }
    console.log(moreLetter(str));

     

    展开全文
  • MATLAB字符串数组

    千次阅读 2011-05-14 20:59:00
    4.1 字符串数组4.1.1 字符串入门【 * 例 4.1.1 -1 】先请读者实际操作本例,以体会数值量与字符串的区别。clear % 清除所有内存变量a=12345.6789 % 给变量 a 赋数值标量class(a) % 对变量 a 的类别进行判断a_s=size...

    4.1 字符串数组


    4.1.1 字符串入门

    【 * 例 4.1.1 -1 】先请读者实际操作本例,以体会数值量与字符串的区别。
    clear % 清除所有内存变量
    a=12345.6789 % 给变量 a 赋数值标量
    class(a) % 对变量 a 的类别进行判断
    a_s=size(a) % 数值数组 a 的“大小”
    a =
    1.2346e+004
    ans =
    double
    a_s =
    1 1

    b='S' % 给变量 b 赋字符标量(即单个字符)
    class(b) % 对变量 b 的类别进行判断
    b_s=size(b) % 符号数组 b 的“大小”
    b =
    S
    ans =
    char
    b_s =
    1 1
    whos % 观察变量 a,b 在内存中所占字节
    Name Size Bytes Class
    a 1x1 8 double array
    a_s 1x2 16 double array
    ans 1x4 8 char array
    b 1x1 2 char array
    b_s 1x2 16 double array
    Grand total is 10 elements using 50 bytes


    4.1.2 串数组的属性和标识

    【 * 例 4.1.2 -1 】本例演示:串的基本属性、标识和简单操作。

    (1)创建串数组
    a='This is an example.'
    a =
    This is an example. 

    (2)串数组 a 的大小
    size(a)
    ans =
    1 19

    (3)串数组的元素标识
    a14=a(1:4) % 提出一个子字符串
    ra=a(end:-1:1) % 字符串的倒排
    a14 =
    This
    ra =
    .elpmaxe na si sihT

    (4)串数组的 ASCII 码
    ascii_a=double(a) % 产生 ASCII 码
    ascii_a =
    Columns 1 through 12
    84 104 105 115 32 105 115 32 97 110 32 101
    Columns 13 through 19
    120 97 109 112 108 101 46
    char(ascii_a) % 把 ASCII 码变回字符串
    ans =
    This is an example.

    (5)对字符串 ASCII 码数组的操作
    % 使字符串中字母全部大写
    w=find(a>='a'&a<='z'); % 找出串数组 a 中,小写字母的元素位置。
    ascii_a(w)=ascii_a(w)-32; % 大小写字母 ASCII 值差 32. 用数值加法改变部分码值。
    char(ascii_a) % 把新的 ASCII 码翻成字符
    ans =
    THIS IS AN EXAMPLE.

    (6)中文字符串数组
    A=' 这是一个算例。 '; % 创建中文字符串
    A_s=size(A) % 串数组的大小
    A56=A([5 6]) % 取串的子数组
    ASCII_A=double(A) % 获取 ASCII 码
    A_s =
    1 7
    A56 =

    算例
    ASCII_A =
    Columns 1 through 6
    54754 51911 53947 47350 52195 49405
    Column 7
    41379

    char(ASCII_A) % 把 ASCII 码翻译成字符
    ans =
    这是一个算例。

    (7)创建带单引号的字符串
    b='Example '' 4.1.2 -1'''
    b =
    Example ' 4.1.2 -1'

    (8)由小串构成长串
    ab=[a(1:7),' ',b,' .'] % 这里第 2 个输入为空格串
    ab =
    This is Example ' 4.1.2 -1' .


    4.1.3 复杂串数组的创建

    4.1.3.1 多行串数组的直接创建

    【 * 例 4.1.3 .1-1 】多行串数组的直接输入示例。
    clear
    S=['This string array '
    'has multiple rows.']
    S =
    This string array
    has multiple rows.
    size(S)
    ans =
    18


    4.1.3.2 利用串操作函数创建多行串数组

    【 * 例 4.1.3 .2-1 】演示:用专门函数 char , str2mat , strvcat 创建多行串数组示例。
    S1=char('This string array','has two rows.')
    S1 =
    This string array
    has two rows.
    S2=str2mat(' 这 ',' 字符 ',' 串数组 ',' 由 4 行组成 ')
    S2 =

    字符
    串数组
    由4 行组成
    S3=strvcat(' 这 ',' 字符 ',' 串数组 ',' ',' 由 4 行组成 ')% “空串”会产生一个空格行
    S3 =

    字符
    串数组
    由 4 行组成
    size(S3)
    ans =
    5 5

    * 4.1.3 .2-1 的补充

    (1)   创建一个二维字符数组animal

    >> Animal=[‘dog’;’monkey’];

    ??? Error using ==> vertcat

    CAT arguments dimensions are not consistent.

    >> Animal=['dog   ';'monkey']; %创建成功

    说明:创建二维字符数组时,字符数组要求每行字符含有相同的列。当多行字符串具有不同长度时,为了避免出现错误,用户需要在较短的字符串中添加空格,以便保证较短字符串与最长字符串等长。

    (2)   char函数创建字符数组,该方法不需要所有字符串等长

    >> Animal = char(‘dog’,’monkey’);


    4.1.3.3 转换函数产生数码字符串

    【 * 例 4.1.3 .3-1 】最常用的数组 / 字符串转换函数 int2str , num2str , mat2str 示例。

    (1) int2str 把整数数组转换成串数组(非整数将被四舍五入园整后再转换)
    A=eye(2,4); % 生成一个 MATLAB数值数组
    A_str1=int2str(A) % 转换成 MATLAB串数组。请读者自己用 size 检验。
    A_str1 =
    1 0 0 0
    0 1 0 0

    (2) num2str 把非整数数组转换为串数组(常用于图形中,数据点的标识)
    rand('state',0)
    B=rand(2,4); % 生成数值矩阵
    B3=num2str(B,3) % 保持 3 位有效数字,转换为串
    B3 =
    0.95 0.607 0.891 0.456
    0.231 0.486 0.762 0.0185

    (3) mat2str 把数值数组转换成输入形态的串数组(常与 eval 指令配用)
    B_str=mat2str(B,4) % 保持 4 位有效数字,转换为“数组输入形式”串
    B_str =
    [0.9501 0.6068 0.8913 0.4565;0.2311 0.486 0.7621 0.0185]
    Expression=['exp(-',B_str,')']; % 相当于指令窗写一个表达式 exp(-B_str)
    eval(Expression) % 把 exp(-B_str) 送去执行
    ans =
    0.3867 0.5451 0.4101 0.6335
    0.7937 0.6151 0.4667 0.9817


    【 * 例 4.1.3 .3-2 】综合例题:在 MATLAB 计算生成的图形上标出图名和最大值点坐标。
    clear % 清除内存中的所有变量
    a=2; % 设置衰减系数
    w=3; % 设置振荡频率
    t=0:0.01:10; % 取自变量采样数组
    y=exp(-a*t).*sin(w*t); % 计算函数值,产生函数数组
    [y_max,i_max]=max(y); % 找最大值元素位置
    t_text=['t=',num2str(t(i_max))]; % 生成最大值点的横坐标字符串 <7>
    y_text=['y=',num2str(y_max)]; % 生成最大值点的纵坐标字符串 <8>
    max_text=char('maximum',t_text,y_text);% 生成标志最大值点的字符串 <9>
    % 生成标志图名用的字符串
    tit=['y=exp(-',num2str(a),'t)*sin(',num2str(w),'t)']; %<11>
    plot(t,zeros(size(t)),'k') % 画纵坐标为 0 的基准线
    hold on % 保持绘制的线不被清除
    plot(t,y,'b') % 用兰色画 y(t) 曲线
    plot(t(i_max),y_max,'r.','MarkerSize',20) % 用大红点标最大值点
    text(t(i_max)+0.3,y_max+0.05,max_text) % 在图上书写最大值点的数据值 <16>
    title(tit),xlabel('t'),ylabel('y'),hold off% 书写图名、横坐标名、纵坐标名

    MATLAB

    图 4.1.3 .3-1 字符串运用示意图



    4.1.3.4 利用元胞数组创建复杂字符串

    【 * 例 4.1.3 .4-1 】元胞数组在存放和操作字符串上的应用。
    a='MATLAB 5 ';b='introduces new data types:'; % 创建单行字符串 a,b
    c1=' ◆ Multidimensional array';c2=' ◆ User-definable data structure';
    c3=' ◆ Cell arrays';c4=' ◆ Character array';
    c=char(c1,c2,c3,c4); % 创建多行字符串 c
    C={a;b;c}; % 利用元胞数组存放长短不同的字符串 <5>
    disp([C{1:2}]) % 显示前两个元胞中的字符内容 <6>
    disp(' ') % 显示一行空白
    disp(C{3}) % 显示第 3 个元胞中的字符内容 <8>
    MATLAB 5 introduces new data types:
    ◆ Multidimensional array
    ◆ User-definable data structure
    ◆ Cell arrays
    ◆ Character array


    4.1.4 串转换函数

    【 * 例 4.1.4 -1 】 fprintf, sprintf, sscanf 的用法示例。
    rand('state',0);a=rand(2,2); % 产生 MATLAB随机阵
    s1=num2str(a) % 把数值数组转换为串数组
    s_s=sprintf('%.10e/n',a) %10 数位科学记述串 , 每写一个元素就换行。
    s1 =
    0.95013 0.60684
    0.23114 0.48598
    s_s =
    9.5012928515e-001
    2.3113851357e-001
    6.0684258354e-001
    4.8598246871e-001

    fprintf('%
    .5g //',a) % 以 5 位数位最短形式显示。不能赋值用
    0.95013/0.23114/0.60684/0.48598/

    s_sscan=sscanf(s_s,'%f',[3,2])% 浮点格式把串转换成成 MATLAB数值数组。
    s_sscan =
    0.9501 0.4860
    0.2311 0

    0.6068 0
    展开全文
  • CStringArray--字符串数组类 CStringArray类支持CString对象数组。 注意: 在使用一个数组之前,使用SetSize来建立它的大小并给它分配内存。如果你不使用SetSize,则向数组添加元素时将导致数组被频繁地拷贝...
  • 如果不存在公共前缀,返回空字符串""。 示例1: 输入: ["flower","flow",...解题思路: 从前往后一次比较字符串获取公共前缀 画图帮助理解一下: 代码实现: var longestCommonPrefix =...
  • 获取C/C++字符串、字符数组长度

    万次阅读 多人点赞 2018-03-26 21:18:24
    在C/C++常用的获取字符串长度或者字符串数组长度的函数有 sizeof() length() strlen() size() 其中strlen(str)和str.length()和str.size()都可以用来求字符串的长度 str.length()和str.size()是用于求...
  • 1.PHP获取一维数组中最大值 <?php $a=array('1','3','55','99'); $pos = array_search(max($a), $a); echo $a[$pos]; //99 2.PHP获取一维数组中的最小值 <?php $a=array(.....
  • hive 获取数组最大值和最小值

    千次阅读 2021-01-11 21:28:34
    1、首先把数组打散,生成中间表YYY ...2、使用first_value获取最小值,last_value获取最大值 select uid,point_id, first_value(loc_x)over(partition by uid order by point_id) as start, las
  • 1.排序法 sort() var arr = [1,2,44,55,66,11,99] arr.sort(function(a,b){ return a-b }) var min = arr[0] // 1 var max = arr[arr.length-1] // 99 ...//最大值获取 var array = [1,55,66,223,11,55] var m...
  • Java 数组获取最大值和最小值

    千次阅读 2020-03-26 10:30:50
    在已经定义的数组元素中获取所有元素最大值和最小值并输出显示。 通过Collections类的Collections.max()和Collections.min()查找数组中最大值和最小值。 完整代码 import java.util.Arrays; import java.util....
  • // 查找数组中最小值 function mathMin(arrs){ var min = arrs[0]; for(var i = 1, ilen = arrs.length; i < ilen; i+=1) { if(arrs[i] < min) { min = arrs[i]; } } return min; } // 代码测试 var ...
  • 3、整型数组、浮点型数组、字符数组、字符串数组。数组前的修饰词表示数组存储的成员数据类型。 二、定义数组 类型修饰符 数组名[常量表达式] = {1,2,3,...}; 说明: 1、类型修饰符:声明了成员的...
  • 要用到程序在运行时,每天用一个text文本保存系统运行的任何记录,但又怕硬盘容量不够,所以就想办法限制文件夹里的text文本最大数量,超过最大值,就先删除最旧的文本,所以就要用到文件夹遍历和文本的路径保存问题...
  • #1、如果要分割的字符出现在左侧或者中间任何一个位置,返回的长度是字符出现的次数+1: String str="745321954568"; String [] res=str.split("1"); System.out.println(res.length); //或者下面这种 ...
  • Matlab------------字符串数组

    万次阅读 2012-04-16 14:38:24
    字符串数组 4.1.1 字符串入门 【 * 例 4.1.1 -1 】先请读者实际操作本例,以体会数值量与字符串的区别。 clear % 清除所有内存变量 a=12345.6789 % 给变量 a 赋数值标量 class(a) % 对变量 a 的类别进行...
  • C语言总结第七章、数组一维数组一维数组的定义一维数组的引用一维数组的初始化程序举例二维数组及多维数组二维数组的定义二维数组元素的引用二维数组元素的初始化程序举例字符数组字符串字符数组 第七章、数组 ...
  • C/C++字符串、字符数组的总结

    万次阅读 多人点赞 2018-08-19 16:15:48
    C++并没有专门的字符串的类型,一个字符串实际上就是一个字符数组,与普通字符数组不同的是,字符串的结尾有一个字符\0,表示字符串的结束。 char 可以定义字符数组,也可以定义字符串 char 定义的字符数组 ...
  • Javascript 对字符串数组的操作

    千次阅读 2015-10-10 19:49:47
    摘要:本文主要总结了Js字符串、数组的操作函数和用法,提供了几种对字符串数组实现字符串操作的函数,大家可以拿去直接用。 JS一些简单的知识可能大家随便搜一下就可以搜到,所以本文先着重介绍在JavaScript的...
  • C#求数组最大值或最大值位置索引

    千次阅读 2019-12-23 11:47:29
    常见求最大值,是数值型数组,这个通常遍历数组方式,或...数组最大值的位置索引 //传入一个数组,求出一个数组的最大值的位置 public static int MaxIndex<T>(T[] arr) where T : IComparable<T> { v...
  • 寻找数组中最大值代码: package cn.tedu.demo; //寻找数组中最大值 public class Max { public static void main(String[] args) { int[] nums = new int[]{2,4,3,5,1,8,33}; int max = nums[0]; for(int i=1;i...
  • Java获取数组最大值和最小值 声明2个变量,取数组任意两个值进行赋值 遍历数组,分别与这两值比较,比当前最大值大时,把它赋值给最大值,比当前最小值小时,把它赋值给最小值。 public class GetMaxMin ...
  • 如果按照你那样写,用arr.join(','),得到的是字符串,就相当于 Math.max( '1,2,3,45,66' ); 里面是字符串,肯定是不对的 方法二: 如果坚持要用字符串拼接参数,可以用eval var arr = [1,2,3,...
  • javascript 返回数组中 最大 最小 平均多种方法分析比较 by FungLeo前言一组数字全部是数字,我们需要返回数组中最大或者最小的数字,这是常见的需求.当然,求数组中所有数字的平均,也是一个很常见的需求.今天我...
  • 字符串数组

    千次阅读 2009-09-08 17:35:00
    5.字符串数组 在许多程序字符串(或字符数组)是很重要的一部分。在GNU C库提供了广泛字符串工具函数,包括字符串复制、串联、比较、搜索。这些函数的大多数都能够在内存的任何地方操作;例如,函数...
  • 首先定义一个对象数组 var lists = [{id:1,title:'22'}, {id:1212,title:'2122'}, {id:132,title:'2额122'} ...其次遍历对象数组中的id var arry =lists.map(x => x.id) 此时打印结果cons...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 175,762
精华内容 70,304
关键字:

获取字符串数组中的最大值