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

新手搭建论坛己做网站公司广告推广

新手搭建论坛己做网站,公司广告推广,门户网站开发平台,网站域名列表代码随想录day6| 242.有效的字母异位词 、349. 两个数组的交集、 202. 快乐数 、 1. 两数之和 242.有效的字母异位词思路步骤 349. 两个数组的交集思路步骤 202. 快乐数思路步骤 1. 两数之和思路步骤 242.有效的字母异位词 思路 使用暴力解法时间复杂度为O(n^2)这道题需要判断…

代码随想录day6| 242.有效的字母异位词 、349. 两个数组的交集、 202. 快乐数 、 1. 两数之和

  • 242.有效的字母异位词
    • 思路
    • 步骤
  • 349. 两个数组的交集
    • 思路
    • 步骤
  • 202. 快乐数
    • 思路
    • 步骤
  • 1. 两数之和
    • 思路
    • 步骤

242.有效的字母异位词

思路

  • 使用暴力解法时间复杂度为O(n^2)
  • 这道题需要判断字母之前是否出现过,所以使用哈希法
  • 由于字符使用asc||可以找出连续的规律(a=97),故可以使用数组来存放字母出现过的次数

步骤

  • 先判断两个字符串长度是否相同,不同直接返回false;
  • 创建一个长度为26的数组,来存放26个字母出现的次数
  • 遍历字符串长度,第一个字符串出现的字母对应的位置每次加一;另一个字符串字母出现的位置每次减一
  • 最后遍历数组,如果有位置不等于0,则返回false
  • 数组中都为0,则返回true;
class Solution {public boolean isAnagram(String s, String t) {if(s.length() != t.length()){return false;}int[] arr = new int[26];for(int i = 0 ; i < s.length() ; i++){// System.out.print(s.charAt(i) - 97 + " ");arr[s.charAt(i) - 97]++;arr[t.charAt(i) - 97]--;}for(int i = 0 ; i < arr.length ; i++){System.out.print(arr[i] + " ");if(arr[i] != 0){return false;}}return true;}
}

349. 两个数组的交集

思路

  • 改题目需要去重(交集结果中不能有重复数字),且返回不考虑输出结果的顺序,所以可以使用哈希法中的set集合

步骤

  • 新建两个set集合,一个用来给nums1数组去重,另一个收集两个数组的交集
  • 遍历nums1去重,收集在set1中
  • 遍历nums2,如果set1中包含在元素,添加到resSet集合中
  • 最后将收集的resSet转换为数组返回
class Solution {public int[] intersection(int[] nums1, int[] nums2) {Set<Integer> set1 = new HashSet<>();Set<Integer> resSet = new HashSet<>();//遍历数组1for (int i : nums1) {set1.add(i);}//遍历数组2的过程中判断哈希表中是否存在该元素for (int i : nums2) {if (set1.contains(i)) {resSet.add(i);}}return resSet.stream().mapToInt(x -> x).toArray();}}

202. 快乐数

思路

  • 题目中说了会 无限循环,那么也就是说求和的过程中,sum会重复出现,这是无限循环结束的条件
  • 判断是否重复出现可以使用set集合
  • 具体思路

步骤

  • 创建一个set集合判断是否重复
  • 用while循环来寻找是否有符合的值,当n!=1并且n没有重复时就一直循环。
  • 进入循环将n加入到set中,开始判断是否时快乐书操作,并且并且更新n的值。
  • 循环结束判断n是否为1(是否为快乐数)
class Solution {public boolean isHappy(int n) {Set<Integer> record = new HashSet<>();while (n != 1 && !record.contains(n)) {record.add(n);n = getNextNumber(n);}return n == 1;}private int getNextNumber(int n) {int res = 0;while (n > 0) {int temp = n % 10;res += temp * temp;n = n / 10;}return res;}
}

1. 两数之和

思路

图文思路

步骤

  • 创建一个map集合,key存放可能会被匹配的数,value中方这个数在数组中的位置。
  • 用for循环来遍历数组,如果当前元素的能够匹配的数不在集合map中,则把该数放到map中,供其他数匹配
  • 如果在map中找到能够匹配的数,则把这两个数的位置放到数组中返回
class Solution {public int[] twoSum(int[] nums, int target) {Map<Integer, Integer> map = new HashMap();int[] arr = new int[2];for(int i = 0 ; i < nums.length ; i++){if(map.containsKey(target-nums[i])){arr[0] = i;arr[1] = map.get(target-nums[i]);break;}map.put(nums[i],i);}return arr;}
}
http://www.mmbaike.com/news/21684.html

相关文章:

  • 做网站如何保证询盘数量太原seo霸屏
  • 企业大型网站开发seo现在还有前景吗
  • 最简单的网站公司网站设计要多少钱
  • 网站域名备案需要什么国产系统2345
  • 武汉企业网站做优化广告优化师
  • 做英文网站用目录还是子域名今日国内新闻头条大事
  • 天津百度网站快速优化网站优化排名方案
  • 惠州做网站好的公司网络推广竞价是什么
  • 都江堰网站建设兰州网络推广电话
  • 国内做日化官方网站有了域名如何建立网站
  • 黄色色调 网站网络站点推广的方法
  • 上海建设安全生产协会网站最有效的恶意点击软件
  • 旅游网站制作方案如何做品牌运营与推广
  • 什么网站的注册是动态免费涨粉工具
  • 网站开发者兼容模式出错四川seo
  • 做网站加一个定位功能要多少钱合肥关键词排名技巧
  • 诸天连锁商城系统东莞关键词排名快速优化
  • 手机网站免费建设如何制作网页广告
  • 上外网看新闻去哪个网站图片扫一扫在线识别照片
  • 跨境网站有哪些平台seo系统是什么意思
  • 如何做网站图标优化公司
  • wordpress 钻石 插件乌鲁木齐seo
  • 惠州企业网站建设企业网站seo托管怎么做
  • 图案设计素材成都网站优化排名推广
  • 怎么做淘宝客优惠劵网站网络广告文案范文
  • 动态网站建设常用技术不包括seo 优化技术难度大吗
  • 北京效果图公司厦门seo推广公司
  • 网站被别人备案百度推广费用一天多少钱
  • 聊城哪里做优化网站网站关键词搜索排名优化
  • 做web网站原型设计百度关键词搜索指数查询