题目:
给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。
解答:
1.暴力解法:
解题思路:根据下标i,j(i+1),遍历两次,查找【i】+【j】= target 时i,j的值。
效果:时间复杂度 O(N*2) 空间复杂度0(1)
代码实现:
2.HashMap 优化
解题思路:
1.我们将每个元素的值和它的索引添加到表中。
2.在进行迭代并将元素插入到表中的同时,检查表中是否已存在当前元素所对应的目标元素。如果它存在,将其返回。如果不存在,插入到表中。
效果:时间复杂度 O(N) 空间复杂度0(N)
代码实现:
题目:
编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址。
解题思路:
ipv4规则:
1.以"."为分割符,分割之后有四个地址
2.每一地址的长度大于0,小于等于3,,在0~255范围
3.每个地址只有一位的时候不能为0。
4.每个地址位都是十进制,0~9之间。
ipv6规则:
1.以':'为分割符,分割之后是8个地址。
2.每一地址的长度大于0,小于等于4
3.每一个地址是16进制,0-9 A-F a-f
代码实现: