暴力大法好:
public class Solution {
public bool IsAnagram(string s, string t) {
if(s.Length!=t.Length)
{
return false;
}
for (int i=0;i<s.Length;i++)
{
for(int k=0;k<t.Length;k++)
{
if(t[k]==s[i])
{
t=t.Remove(k,1);
k=0;
break;
}
}
}
if(t.Length==0)
{
return true;
}
return false;
}
}
首先确保两个字符串长度相同,如果不同直接返回False。进行双层For循环,拿一个字符串作为基准,另一个各元素进行比较,若果有相同的直接移除出字符串,然后For循环从头开始并且跳出内层循环,基准字符串指针后移一位重复此操作。当基准字符串来到了末尾就去判断内层循环的字符串是非为空(也就是每个元素都相同都被移除了,只剩空串),如果是则可以返回True,否则返回False。
public class Solution {
public int[] Intersection(int[] nums1, int[] nums2) {
int [] hash1=new int[1001];
int [] hash2=new int[1001];
int cnt=0;
int a=0;
for(int i=0;i<nums1.Length;i++)
{
hash1[nums1[i]]++;
}
for(int i=0;i<nums2.Length;i++)
{
hash2[nums2[i]]++;
}
for(int i=0;i<hash1.Length;i++)
{
if(hash1[i]!=0&&hash2[i]!=0)
{
cnt++;
}
}
int []ans=new int[cnt];
for(int i=0;i<hash1.Length;i++)
{
if(hash1[i]!=0&&hash2[i]!=0)
{
ans[a++]=i;
}
}
return ans;
}
}
首先创建两个Hash数组,数组长度按照题目条件设置为1001,遍历两个数组,分别将两个数组元素作为Hash数组下标,在对应下标的值上++操作,然后创建一个返回结果的数组,但数组长度需要遍历两个Hash数组,找到两个数值值处都不为零的下标,则改处则是满足题意的交集,则该处的个数则为需要开设返回数组的长度,最后将该下标作为交集插入数组并返回出去。
列表法:
public class Solution {
public bool IsHappy(int n) {
List<int> list=new List<int>();
int temp=n;
while(true)
{
int sum=0;
while(temp>0)
{
int last=temp%10;
sum+=last*last;
temp/=10;
}
temp=sum;
if(temp==1)
{
return true;
}else
{
if(list.Contains(temp))
{
return false;
}else
{
list.Add(temp);
}
}
}
return false;
}
}
首先要进行求平方操作,则需要单独分离个位和其他位,将其最后的结果放入List列表,如果不满足题意Temp==1,则重复平方操作,要么最终满足Temp==1,要么就会在List列表找到这个值,说明之前放入过了,是一个循环,直接返回False,符合题意则返回True。
class Solution { public boolean isHappy(int n)
{
return true;
}
}
直接返回True,希望大家永远开心就完事了!
暴力法:
public class Solution {
public int[] TwoSum(int[] nums, int target) {
int i=0;
int k=0;
for(i=0;i<nums.Length;i++)
{
for(k=i+1;k<nums.Length;k++)
{
if(nums[k]+nums[i]==target)
{
return [i,k] ;
}
}
}
return [] ;
}
}
看到有朋说说这是小时候最害怕的一集,不要怕,要找两个数相加等于Target,For它就完了,直接两个For循环相当于两个指针,一个固定一个挨着找,找完一圈,固定的往后动一下,另一个在挨着找,如果都找完了,不好意思直接返回[],因为找不到符合题意的。要是找到了,直接将这两个指针塞进Int类型数组返回出去就完了。
别再说[有人相爱,有人夜里开车看海,有人力扣第一题就做不出来]~