当前位置: 首页 > wzjs >正文

苏州网站建设搭建比较好的wordpress

苏州网站建设搭建,比较好的wordpress,免费ppt下载网站,wordpress在国内很慢目录 1、只出现一次的数字 2、宝石与石头 3、坏键盘打字 4、复制带随机指针的链表 5、大量数据去重 6、大量数据重复次数 7、前K个高频单词 1、只出现一次的数字 oj:136. 只出现一次的数字 - 力扣(LeetCode) 思路: 1. 使用…

目录

1、只出现一次的数字

2、宝石与石头

3、坏键盘打字

4、复制带随机指针的链表

5、大量数据去重

6、大量数据重复次数

7、前K个高频单词


1、只出现一次的数字

oj:136. 只出现一次的数字 - 力扣(LeetCode)

思路:
1. 使用 Set

2. 遍历数组,如果Set中不包含当前元素,就add,包含就remove

3. 最后Set中剩的一个元素就是要找的元素

    public int singleNumber(int[] nums) {//HashSet<Integer> set = new HashSet<>();TreeSet<Integer> set = new TreeSet<>();for(int x : nums) {if(!set.contains(x)) {set.add(x);}else {set.remove(x);}}//此时集合中只有一个元素了for(int x : nums) {if(set.contains(x)) {return x;}}return -1;}

2、宝石与石头

oj:771. 宝石与石头 - 力扣(LeetCode)

思路:

1. 将宝石字符串转化为一个字符数组,并把数组中每个字符都保存到Set集合中

2. 遍历石头字符串,如果当前位置的石头在Set集合中存在,就把计数器++,最后返回计数器

    public int numJewelsInStones(String jewels, String stones) {HashSet<Character> set = new HashSet<>();for(char ch : jewels.toCharArray()) {set.add(ch);}int count = 0;for(char ch : stones.toCharArray()) {if(set.contains(ch)) {count++;}}return count;}

3、坏键盘打字

牛客:旧键盘 (20)__牛客网

思路:

1. 将第二行字符串转化成大写,然后遍历这个字符串,把每个字符都放在set中

2. 将第一行字符串转化成大写,然后遍历这个字符串,把每个字符都放在set2中,当前字符在set中没有并且在set2中也没有,就打印

    public static void main(String[] args) {Scanner in = new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseString str1 = in.nextLine();String str2 = in.nextLine();func(str1,str2);}}private static void func(String str1,String str2) {HashSet<Character> set = new HashSet<>();for(char ch : str2.toUpperCase().toCharArray()) {set.add(ch);}HashSet<Character> set2 = new HashSet<>();for(char ch : str1.toUpperCase().toCharArray()) {if(!set.contains(ch) && !set2.contains(ch)) {System.out.print(ch);set2.add(ch);}}}

4、复制带随机指针的链表

oj:138. 随机链表的复制 - 力扣(LeetCode)

思路:

1. 遍历链表,每遍历到一个结点,就创建一个新结点,并把这两个结点的地址以键值对的形式保存到Map中

2. 通过Map修改指向

        map.get(cur).next = map.get(cur.next);

        map.get(cur).random = map.get(cur.random);

3. 返回新链表的头结点

    public Node copyRandomList(Node head) {Map<Node,Node> map = new HashMap<>();Node cur = head;//1. 第一次遍历链表 存储对应关系while(cur != null) {Node node = new Node(cur.val);map.put(cur,node);cur = cur.next;}//2. 第2次遍历链表 开始修改每个节点的指向cur = head;while(cur != null) {map.get(cur).next = map.get(cur.next);map.get(cur).random = map.get(cur.random);cur = cur.next;}//3、返回head对应的地址return map.get(head);}

5、大量数据去重

有10W个数据如何去除重复的数据,重复的数据只保留一份

    public static void main(String[] args) {int[] array = {1,2,3,3,2};HashSet<Integer> set = new HashSet<>();for (int i = 0; i < array.length; i++) {set.add(array[i]);}System.out.println(set);}

6、大量数据重复次数

有10W个数据,统计每个数据出现的次数

    public static void main12(String[] args) {int[] array = {1,2,3,3,2};Map<Integer,Integer> map = new HashMap<>();for(Integer x : array) {if(map.get(x) == null) {//第一次存放map.put(x,1);}else {//其他情况在原来的基础上加 1int val = map.get(x);map.put(x,val+1);}}for(Map.Entry<Integer,Integer> entry : map.entrySet()) {System.out.println("key: "+entry.getKey()+" val: "+entry.getValue());}}

7、前K个高频单词

oj:692. 前K个高频单词 - 力扣(LeetCode)

public List<String> topKFrequent(String[] words, int k) {//1、先统计单词出现的次数->存储到了map当中Map<String,Integer> map = new HashMap<>();for(String word : words) {if(map.get(word) == null) {map.put(word,1);}else {int val = map.get(word);map.put(word,val+1);}}//2、遍历好统计好的Map,把每组数据存储到小根堆当中PriorityQueue<Map.Entry<String,Integer>> minHeap =new PriorityQueue<>(new Comparator<Map.Entry<String, Integer>>() {@Overridepublic int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {//放元素的时候 如果频率相同 我们转变为大根堆-》按照单词的字典序if(o1.getValue().compareTo(o2.getValue()) == 0) {// 也可以直接减return o2.getKey().compareTo(o1.getKey());}return o1.getValue().compareTo(o2.getValue());}});for(Map.Entry<String,Integer> entry : map.entrySet()) {if(minHeap.size() < k) {minHeap.offer(entry);}else {//你要找最大的频率的单词Map.Entry<String,Integer> top = minHeap.peek();if(top.getValue().compareTo(entry.getValue()) < 0) {minHeap.poll();minHeap.offer(entry);}else {//def->2                     abc-> 2if(top.getValue().compareTo(entry.getValue()) == 0) {if(top.getKey().compareTo(entry.getKey()) > 0) {minHeap.poll();minHeap.offer(entry);}}}}}List<String> ret = new ArrayList<>();//放到了小根堆 2   3    4for (int i = 0; i < k; i++) {Map.Entry<String,Integer> top = minHeap.poll();ret.add(top.getKey());}// 2  3   4 ->  4 3 2Collections.reverse(ret);return ret;}


文章转载自:

http://U5h9l1vk.kmjbs.cn
http://cpSm9QrE.kmjbs.cn
http://hoKdyNST.kmjbs.cn
http://mkfCaYrD.kmjbs.cn
http://taHd2sTP.kmjbs.cn
http://XYnHAu0J.kmjbs.cn
http://x4xPWGC4.kmjbs.cn
http://EaQJ2w28.kmjbs.cn
http://NnfjWJKQ.kmjbs.cn
http://gKQyYm0B.kmjbs.cn
http://P7NX2Bs5.kmjbs.cn
http://08OTsMTl.kmjbs.cn
http://TjeIMtpf.kmjbs.cn
http://5fhmBGjD.kmjbs.cn
http://Tr0Wou7G.kmjbs.cn
http://Yol7PDDN.kmjbs.cn
http://4EFH1tOL.kmjbs.cn
http://zgAzidOP.kmjbs.cn
http://qkcjypNp.kmjbs.cn
http://BuvlQMsb.kmjbs.cn
http://dSmntz5J.kmjbs.cn
http://oiMgmWue.kmjbs.cn
http://fOUcIVEM.kmjbs.cn
http://TkkxyYiG.kmjbs.cn
http://BAmzFDtS.kmjbs.cn
http://nSplYflG.kmjbs.cn
http://o85w7iVP.kmjbs.cn
http://adDyRV6g.kmjbs.cn
http://40WF34UF.kmjbs.cn
http://KLkGSRjS.kmjbs.cn
http://www.dtcms.com/wzjs/768501.html

相关文章:

  • 怎么做网站赚钱南昌科技网站建设
  • 简约网站模板html南宁经典网站建设
  • 东莞做网站公司排名收到网站建设费分录
  • 平度市网站建设建筑设计建模软件
  • 衡水网站建设电话个人网站可以做导航
  • 西宁市建设网站多少钱做翻译的网站
  • 自定义功能的网站开发公司延迟缴纳维修基金申请书
  • app软件开发培训班seo内容优化是什么
  • 有了域名怎么建网站联系方式wordpress怎么添加登录
  • 平面设计高端网站网页界面设计欣赏
  • 内蒙古建设工程造价信息网官方网站中国建设网app下载
  • 仕德伟做的网站滁州市南谯区住房和建设局网站
  • 做啥网站赚钱?做网站外包公司
  • 网站建设岗位廉政风险防控响应式网站制作工具
  • 快速搭建网站python我的长沙app是哪里开发的
  • 学校网站建设全包百度网站验证方法
  • 菏泽网站建设培训学校建设网站有什么作用
  • 东莞网站seo做模板网站
  • 如何用front怕个做网站上海闵行建设局官方网站
  • 公司向要做一个网站要怎么做建设厅执业资格注册中心网站
  • 石家庄做网站排名公司哪家好免费建站网站一区黄在线国产
  • 手机网站建设维护协议梅州建站联系方式
  • 查询网站收录命令网站运营方案案例
  • 建网站销售常见问题求个网站你明白的 知乎
  • 陕西省建设厅执业资格注册中心网站报名建站极速通
  • 推进政务服务网站一体化建设js不能打开插件wordpress
  • 网站不想被百度抓取网站开发前景如何
  • 营销型网站上海制作个人建个网站需要多少钱
  • org的域名网站淮北工程建设公司
  • 简述网站的四种常见结构宁波网络seo推广