20171101(查找sdddrtkjsfkkkasjdddj字符串中,出现次数最多的字符和次数。)

来源:互联网 发布:淘宝模特招聘网 编辑:程序博客网 时间:2024/05/21 09:22

题目一:查找sdddrtkjsfkkkasjdddj字符串中,出现次数最多的字符和次数。

<!doctype html><html lang="en">    <head>        <meta charset="UTF-8">        <title>Document</title>    </head>    <body>    </body>    <script>        var team = [];        var num = [];        var s = "11111111111111111222223333anfkkkkkkklajjsdkjdskjlksjdlkjfljalk;fjklajljaljlkdajhashlfsjasjnk;jjskljslgkl3";        //数组,排序        var a = s.split("").sort();        //遍历        for (var i = 0; i < s.length; i++) {            var sum = 0;            for (var j = i; j <= s.length; j++) {                if (a[i] == a[j]) {                    sum += 1;                } else {                    team.push(a[i]);                    num.push(sum);                    break;                          }            }            i = j - 1;        }        //可以解决同时存在相同个数字符的问题        var p = Math.max.apply(Math, num);        function fun(){            for (var o =0; o < num.length; o++) {                if (num[o] == p) {                    document.write("字符串出现最多的字符是 '"+team[o]+"',出现的次数为:"+num[o]+"<hr/>");                }            }        }           fun();    </script></html>
字符串出现最多的字符是 '1',出现的次数为:17字符串出现最多的字符是 'j',出现的次数为:17字符串出现最多的字符是 'k',出现的次数为:17

方法二

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>    </head>    <body>    </body>    <script>        var str = "ssssssdasagdsbdbfdfbfdfdfsdsrrbdddddd";        // 使用对象记录字符出现的次数,键为各个字符,值为字符出现的次数        var obj = {};        for(var i = 0; i < str.length; i++) {            //获得字符            var char = str.charAt(i);            //若对象已有该字符属性,值加1            if(obj[char]) {                obj[char]++;            } else {                //第一次出现该字符,值记为1                obj[char] = 1;            }            //console.log(obj);        }        console.log(obj);        //记录出现最多次数        var max = 0;        for(var key in obj) {            if(obj[key] >= max) {                max = obj[key];            }        }        //打印        for(var key in obj) {            if(obj[key] == max) {                console.log("出现次数最多的字符:" + key);                console.log("出现次数:" + obj[key]);            }        }    </script></html>

题目二:要求:执行一个删除语句,当 Name 列上有相同时,只保留 ID 这列上值小的

例如:删除后的结果应如下:

DROP TABLE IF EXISTS t_team;CREATE TABLE t_team(    id INT AUTO_INCREMENT PRIMARY KEY,    name VARCHAR(10) NOT NULL);INSERT INTO t_team(name) VALUES('a');INSERT INTO t_team(name) VALUES('b');INSERT INTO t_team(name) VALUES('b');INSERT INTO t_team(name) VALUES('a');INSERT INTO t_team(name) VALUES('c');INSERT INTO t_team(name) VALUES('c');-- 更新数据时,使用了查询,而查询的数据又做了更新的条件,mysql不支持这种方式,所以再加一层封装,且虚拟表要取别名。DELETE FROM t_team WHERE id  NOT IN(SELECT id FROM(SELECT MIN(id) AS id FROM t_team GROUP BY name) AS b);

题目三:判断 101-200 之间有多少个素数,并输出所有素数。

public class d20171101 {    public static void main(String[] args) {        D20 a = new D20();        a.fun(101,200);    }}class D20 {    public void fun(int i, int j) {        int sum = 0;        for(int k = i; k <= j; k++) {            if(k%2 != 0 && k%3 != 0 && k%5 != 0 && k%7 != 0) {                System.out.println(k);                sum += 1;            }        }        System.out.println(sum);    }}
public class Tl3 {    public static void main(String[] args) {        int count = 0;        for (int i = 101; i <= 200; i++) {            int j;            for (j = 2; j < i; j++) {                // 如果j能被i整出在跳出循环                if (i % j == 0) {                    break;                }            }            // 判断循环是否提前跳出,如果j<i说明在2~j之间,i有可整除的数            if (j >= i) {                count++;                System.out.print(i + "\t");                // 换行,用count计数,每五个数换行                if (count % 5 == 0) {                    System.out.print("\n");                }            }        }    }
10110310710911312112713113713914314915115716316716917317918118719119319719925
阅读全文
1 0