当前位置:网站首页>【leetcode】day1
【leetcode】day1
2022-07-07 21:52:00 【橘の月半喵】
开始刷题!
文章目录
001 :两数之和
给定一个整数数组 nums
和一个整数目标值 target
,请你在该数组中找出 和为目标值 target
的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。
具体问题见网址
001.暴力解法 (双for循环)
001.暴力解法 (双for循环) java版
解法时间复杂度约为 O ( n 2 ) O(n^2) O(n2)
class Solution {
public int[] twoSum(int[] nums, int target) {
int[] result=new int[2];
for (int i=0;i<(nums.length-1);i++){
//java中的length为 nums.length
for (int j=i+1;j<nums.length;j++){
if ((nums[i]+nums[j])==target)
{
result[0]=i;
result[1]=j;
return result;
}
}
}
return result; // 如果只有上面的return 会导致部分循环没有返回值,导致报错
}
}
001.暴力解法 (双for循环) pyhton版
class Solution(object):
def twoSum(self, nums, target):
result=[];
for i in range(0,len(nums)): # 注意 python for循环 if 后面加“:”
for j in range(i+1,len(nums)):
if ((nums[i]+nums[j])==target):
result.append(i);
result.append(j);
return result
001.hash解法
利用hash表的方式求解,关键在于hash表的查找速度特别块。此外 python的字典与hash表类似
001.hashmap java版
import java.util.HashMap;
import java.util.Map;
public int[] twoSum(int[] nums, int target) {
int[] result = new int[2];
if(nums == null || nums.length == 0){
return result ;
}
Map<Integer, Integer> map = new HashMap<>(); // 建立k-v ,一一对应的哈希表
// 注意 hash表,数组的值作为key值,数组的下标作为value值
//(为什么?在查找数组的时候我们关注的是数组的值,而不是下标,我们需要以值为“导向” 来查找所需要的数组).
// 不用担心数组的值作为key值会重复,因为如果重复的话,覆盖即可
for(int i = 0; i < nums.length; i++){
int temp = target - nums[i];
if(map.containsKey(temp)){
// 判断 hash表中是否存在target - nums[i] 这个值,如果存在直接返回
result [1] = i;
result [0] = map.get(temp);
return result;
}
// 如果不存在就将 键值对存入,以备查找(这些键值对是已经确定的、任意两个数字之间没有所需要和等于target的数组)
map.put(nums[i], i);
}
return result ;
}
001.dict pyhton
class Solution(object):
def twoSum(self, nums, target):
dict1={
};
for index,num in enumerate(nums):
temp=target-num;
if temp in dict1:
return [dict1[temp],index]; # 注意 以 key 访问 字典时 要用方括号!!!
dict1[num]=index;
return None;
边栏推荐
- 移动端异构运算技术 - GPU OpenCL 编程(基础篇)
- SAP HR reward and punishment information export
- Display the server hard disk image to the browser through Servlet
- MySQL架构
- First week of July
- SAP HR social work experience 0023
- LDO voltage stabilizing chip - internal block diagram and selection parameters
- The efficient s2b2c e-commerce system helps electronic material enterprises improve their adaptability in this way
- 系统设计概述
- The for loop realizes 1-100 addition and eliminates the 4-digit tail number
猜你喜欢
Class C design questions
B_QuRT_User_Guide(37)
As a new force, chenglian premium products was initially injected, and the shares of relevant listed companies rose 150% in response
How to change the formula picture in the paper directly into the formula in word
Unity3d Learning Notes 6 - GPU instantiation (1)
产业共融新势能,城链科技数字峰会厦门站成功举办
USB (XV) 2022-04-14
Deep understanding of MySQL lock and transaction isolation level
0-1 knapsack problem
Matlab SEIR infectious disease model prediction
随机推荐
ASP. Net query implementation
进度播报|广州地铁七号线全线29台盾构机全部完成始发
S2b2b mall solution of intelligent supply chain in packaging industry: opening up a new ecosystem of e-commerce consumption
B_QuRT_User_Guide(36)
One week learning summary of STL Standard Template Library
Anxin vb01 offline voice module access intelligent curtain guidance
SAP HR奖罚信息导出
Live server usage
系统设计概述
SAP HR 劳动合同信息 0016
包装行业智能供应链S2B2B商城解决方案:开辟电商消费新生态
SAP HR 家庭成员信息
B / Qurt Utilisateur Guide (36)
Explain
POJ2392 SpaceElevator [DP]
Oracle database backup and recovery
Explain
sql 数据库执行问题
[stm32+esp8266 connect Tencent cloud IOT development platform 2] stm32+esp8266-01s connect Tencent cloud
Entity层、DAO层、Service层、Controller层 先后顺序