Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Updated solution for 1307 and added solution for 1354. #1823

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
nrhitik wants to merge 20 commits into doocs:main from nrhitik:main
Closed

Updated solution for 1307 and added solution for 1354. #1823

nrhitik wants to merge 20 commits into doocs:main from nrhitik:main

Conversation

Copy link
Contributor

@nrhitik nrhitik commented Oct 16, 2023

No description provided.

nrhitik and others added 15 commits October 14, 2023 21:04
Copy link
Member

idoocs commented Oct 16, 2023

🤭 感谢你的提交,请检查你的改动是否符合以下项目规范。

1. 格式化

我们项目中各种编程语言代码(包括文档)所采用的格式化工具不同,提交 pr 之前必须确保代码、文档正确格式化。

  • .{md,js,ts,php,sql} 采用 prettier
  • .{c,cpp,java} 采用 clang-format
  • .{py} 采用 black
  • .{go} 采用 gofmt
  • 其它待完善

2. Git 提交信息

我们项目遵循 AngularJS Git Commit Message Conventions 规范,我们希望你的提交信息尽可能与项目保持一致。

  • 新增或修改题解:feat: add/update solution(s) to lc problem(s): No.xxxx
  • 修复错误:fix: xxxx
  • 日常维护:chore: xxx

3. 其它补充

新增题解及代码时,需要创建 Solution.xxx 源代码文件(如果已存在,请确认算法是否更优,是则覆盖已有算法代码),同时,需要在 README.md 以及 README_EN.md 中添加对应的代码片段(英文文件中不要出现中文注释)

另外,编码风格(比如变量、函数的命名),尽量跟项目已有代码保持一致。


🤭 Thank you for your contribution. Please check if your changes comply with the following project specifications.

1. Formatting

We use different formatting tools for various programming languages (including documentation) in our project. You must ensure that the code and documentation are correctly formatted before submitting a pr.

  • .{md,js,ts,php,sql} use prettier
  • .{c,cpp,java} use clang-format
  • .{py} use black
  • .{go} use gofmt
  • Others to be improved

2. Git Commit Message

Our project follows the AngularJS Git Commit Message Conventions. We hope that your submission information is as consistent as possible with the project.

  • Add or modify solutions: feat: add/update solution(s) to lc problem(s): No.xxxx
  • Fix errors: fix: xxxx
  • Routine maintenance: chore: xxx

3. Other notes

When adding solutions and code, you need to create a Solution.xxx source code file (if it already exists, please confirm whether the algorithm is better, if yes, overwrite the existing algorithm code), and at the same time, you need to add the corresponding code snippets in README.md and README_EN.md (do not have Chinese comments in the English file)

In addition, the coding style (such as the naming of variables and functions) should be as consistent as possible with the existing code in the project.

idoocs reacted with thumbs up emoji idoocs reacted with laugh emoji

@idoocs idoocs added md Issues or Pull requests relate to .md files py Issues or Pull requests relate to .py code labels Oct 16, 2023
Copy link
Member

Hey @nrhitik your code for problem 1307 still cannot pass all the test cases :(

Copy link
Contributor Author

nrhitik commented Oct 17, 2023

Hey @yanglbme, can you share the failed test cases? When I submitted the solution for 1307 on leetcode it passes all the test cases and was accepted. i have attached a screenshot of the solution being accepted.
Screenshot 2023年10月17日 102221

Copy link
Member

@nrhitik

Here is the test case:

["LEET","CODE"]
"POINT"
output: None
expected: false

try to run your code in PyCharm IDE

from typing import List
class Solution:
 def isSolvable(self, words: List[str], result: str) -> bool:
 if max(map(len, words)) > len(
 result
 ): # If any of the words are bigger than the result, it will be impossible to solve
 return False
 # Add the result to the list, this way we will only subtract values when it comes to the result word.
 # Thus at every index, if the total is zero, then for that letter index the formulat is correct
 words = [word[::-1] for word in words] + [result[::-1]]
 values = {} # Mapping from letter to values
 nums = [0] * 10
 # i: word index, j: ltr index, total: total current Sum
 def dfs(i, j, total):
 if j == len(
 result
 ): # Reached end of the indecies for ltrs in all words (END)
 return (
 total % 10 == 0
 ) # Checking to see if the total for the current character is correct or not
 if i == len(words): # Checked ltr at index j for all the words
 return total % 10 == 0 and dfs(0, j + 1, total // 10)
 if j >= len(words[i]):
 return dfs(i + 1, j, total)
 if words[i][j] in values:
 if (
 values[words[i][j]] == 0
 and j == len(words[i]) - 1
 and len(words[i]) > 1
 ):
 return False
 if i == len(words) - 1:
 return dfs(i + 1, j, total - values[words[i][j]])
 else:
 return dfs(i + 1, j, total + values[words[i][j]])
 else:
 for val, isUsed in enumerate(nums):
 if not isUsed and (val != 0 or j == 0 or j < len(words[i]) - 1):
 values[words[i][j]] = val
 nums[val] = True
 if i == len(words) - 1 and dfs(
 i + 1, j, total - values[words[i][j]]
 ):
 return True
 elif i < len(words) - 1 and dfs(
 i + 1, j, total + values[words[i][j]]
 ):
 return True
 values.pop(words[i][j])
 nums[val] = False
 return dfs(0, 0, 0)
s = Solution()
print(s.isSolvable(["LEET","CODE"], "POINT"))

Copy link
Contributor Author

nrhitik commented Oct 17, 2023

Thankyou, I will look into it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Reviewers
No reviews
Assignees
No one assigned
Labels
md Issues or Pull requests relate to .md files py Issues or Pull requests relate to .py code
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /